php5.4传引用时报错问题分析
本文实例分析了php5.4传引用时报错问题。分享给大家供大家参考,具体如下:
php5.3系列版本以及以前版本,传引用没有什么问题,升级到php5.4以后,传引用的地方,全报错
Fatal error: Call-time pass-by-reference has been removed in F:\work\wamp\www\test\test.php on line 6。看一下下面的例子。
例1,递归传引用,在php 5.3及以及版本,测试结果
<?php function test($aa,&$bb){ if($aa < $bb){ echo $bb."<br>"; $bb--; test($aa,&$bb); } } $aa = 3; $bb = 6; test($aa,&$bb); ?>
运行结果如下
6
5
4
php 5.4以后就不行了,我是用php 5.4.11测试的。报Fatal error: Call-time pass-by-reference has been removed in F:\work\wamp\www\test\test.php on line 6。
例2,php5.4.11上面测试,只测试传引用
<?php function test($aa,&$bb){ if($aa < $bb){ $bb--; echo $bb."<br>"; //test($aa,&$bb); } } $aa = 3; $bb = 6; test($aa,$bb); //php5.4,php5.3及以前版本,输入结果是5 //test($aa,&$bb); //php5.3输入结果是5,php5.4及以后,报错Fatal error: Call-time pass-by-reference 。。。。 ?>
php5.4以后,定义时可以有&,调用时加上&就会报错。这样调用感觉很怪。
例3,php5.4以及递归传引用
<?php function test($aa,&$bb){ if($aa < $bb){ $bb--; echo $bb."<br>"; test($aa,$bb); } } $aa = 3; $bb = 6; test($aa,$bb); ?>
php5.2,php5.3,php5.4都可以运行,运行结果:
5
4
3
感觉这个5.3升到5.4有点坑爹,如果不知道改变的,升级就很郁闷了。
更多关于PHP错误与异常相关内容感兴趣的读者可查看本站专题:《PHP错误与异常处理方法总结》
希望本文所述对大家PHP程序设计有所帮助。
相关文章
mysql报错:MySQL server version for the right syntax to use near type=InnoDB的解决方法
这篇文章主要介绍了mysql报错:MySQL server version for the right syntax to use near type=InnoDB的解决方法,涉及MySQL语句的使用技巧,需要的朋友可以参考下...2016-01-15Nginx中报错:Permission denied与Connection refused的解决
这篇文章主要给大家介绍了在Nginx中报错:13: Permission denied与111: Connection refused的解决方法,文中介绍的非常详细,相信对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。...2017-07-06- 下面小编就为大家带来一篇浅谈mysql密码遗忘和登陆报错的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2017-04-03
解决laravel 5.1报错:No supported encrypter found的办法
这篇文章主要给大家介绍了关于解决laravel 5.1报错:No supported encrypter found的相关资料,文中介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友可以参考借鉴,下面来一起看看吧。...2017-06-11- 今天在要php5.4.6中编译安装一个php-screw了,但是怎么操作都不成功了,后来看到有朋友博客写到一篇关于php-screw在php5.4.6上编译失败问题的解决方案,于是拿过来试了一下...2016-11-25
Mysql 报Row size too large 65535 的原因及解决方法
这篇文章主要介绍了Mysql 报Row size too large 65535 的原因及解决方法 的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下...2016-06-24mysql 报错This function has none of DETERMINISTIC解决方案
这篇文章主要介绍了mysql 报错This function has none of DETERMINISTIC解决方案的相关资料,需要的朋友可以参考下...2016-11-22Mybatis报错: org.apache.ibatis.exceptions.PersistenceException解决办法
这篇文章主要介绍了Mybatis报错: org.apache.ibatis.exceptions.PersistenceException解决办法的相关资料,需要的朋友可以参考下...2017-01-09- 在php中register globals函数在php5.3.0开始移除在5.4.0开始废弃了,但还是有很多的网站都有这个函数,下面我来介绍一些解决办法。 php4.2.0的版本是没有用过,php官网...2016-11-25
thinkphp项目部署到Linux服务器上报错“模板不存在”如何解决
一个项目部署到Linux服务器上去的时候,发现某些模板竟然会报错说“模板不存在:ApplicationAdmin....”,这篇文章就是介绍了thinkphp项目部署到Linux服务器上报错“模板不存在”的解决方法,感兴趣的小伙伴们可以参考一下...2016-05-04解决nginx报错信息 client intended to send too large body: 1331696 bytes
这篇文章主要介绍了解决nginx报错 client intended to send too large body: 1331696 bytes的相关资料,需要的朋友可以参考下...2017-07-06mysql登录报错提示:ERROR 1045 (28000)的解决方法
这篇文章主要介绍了mysql登录报错提示:ERROR 1045 (28000)的解决方法,详细分析了出现MySQL登陆错误的原因与对应的解决方法,需要的朋友可以参考下...2016-04-15- 这篇文章主要介绍了php5.4传引用时报错问题,结合实例形式分析了php5.4传引用时报错问题及解决方法,具有一定参考借鉴价值,需要的朋友可以参考下...2016-01-23
- 这篇文章主要为大家详细介绍了IIS7网站发布常见问题及解决方案,感兴趣的小伙伴们可以参考一下...2016-09-28