Fatalerror:Call-timepass-by-referencehasbeenremoved,passbyreference_PHP教程
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Fatalerror:Call-timepass-by-referencehasbeenremoved,passbyreference_PHP教程,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2626字,纯文字阅读大概需要4分钟。
内容图文
![Fatalerror:Call-timepass-by-referencehasbeenremoved,passbyreference_PHP教程](/upload/InfoBanner/zyjiaocheng/184/6745ab0c99374380b13b8961a2e44947.jpg)
Fatal error: Call-time pass-by-reference has been removed,passbyreference
下面的代码报错:Fatal error: Call-time pass-by-reference has been removed
function myFunc($arg) { do something... }
myFunc(&$arg);//Call myFunc
或
function myFunc(&$arg) { do something... }
myFunc(&$arg);//Call myFunc
错误分析:
allow_call_time_pass_reference boolean
在函数调用时参数被按照引用传递时是否发出警告。此方法已不被赞成并在 PHP/Zend 未来的版本中很可能不再支持。鼓励使用的方法是在函数定义中指定哪些参数应该用引用传递。鼓励大家尝试关闭此选项并确保脚本能够正常运行,以确保该脚本也能在未来的版本中运行(每次使用此特性都会收到一条警告)。
在函数调用时通过引用传递参数是不推荐的,因为它影响到了代码的整洁。如果函数的参数没有声明作为引用传递,函数可以通过未写入文档的方法修改其参数。要避免其副作用,最好仅在函数声明时指定那个参数需要通过引用传递。
Changelog for allow_call_time_pass_reference 版本 说明
5.4.0 从 PHP 中移除。
5.3.0 Emits an E_DEPRECATED level error.
5.0.0 Deprecated, and generates an E_COMPILE_WARNING level error.
函数调用时引用传参已经被移除了,就是不能通过function(&$a)这种方式传参调用函数.
解决方案:
查看你的php.ini配置文件,把其中的 allow_call_time_pass_reference参数调整为true,并重启服务器试试。
此外,以前的php代码在升级到5.4版本的php可能会出现这种错误:
当我们这样使用函数(或者类)的话,会产生一个error:
myFunc(&$arg);//Call myFunc
实际上,这样用本来就是错的,只是之前的错误级别仅仅是Deprecated而已。
而正确的使用方法应该是在函数定义时:
function myFunc(&$arg) { do something... }
而在调用时直接传参就行了:
myFunc($var);//Call myFunc
意思是调用时引用传参已经被移除了,就是不能通过function(&$a)这种方式传参调用函数.
解决方案:
查看你的php.ini配置文件,把其中的 allow_call_time_pass_reference参数调整为true,并重启服务器试试。
======================================
此外,以前的php代码在升级到5.4版本的php可能会出现这种错误:
当我们这样使用函数(或者类)的话,会产生一个error:
foo(&$var);
实际上,这样用本来就是错的,只是之前的错误级别仅仅是Deprecated而已。
而正确的使用方法应该是在函数定义时:
function foo(& $var) {
//other code
}
而在调用时直接传参就行了: foo($var);
到有问题的行数,把&$this等变量的&去掉就可以了,然后重启xampp或bugfree;
或修改php.ini里的allow_call_time_pass_reference=On
http://www.bkjia.com/PHPjc/880093.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/880093.htmlTechArticleFatal error: Call-time pass-by-reference has been removed,passbyreference 下面的代码报错:Fatal error: Call-time pass-by-reference has been removed function myFunc( $arg)...
内容总结
以上是互联网集市为您收集整理的Fatalerror:Call-timepass-by-referencehasbeenremoved,passbyreference_PHP教程全部内容,希望文章能够帮你解决Fatalerror:Call-timepass-by-referencehasbeenremoved,passbyreference_PHP教程所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。