解决 PHP 5.4 Call-Time Pass-by-Reference 问题
一条错误消息,指示“PHP Fatal error: Call-time pass-在旧版 PHP 中通过引用函数传递变量时,经常会出现“按引用已被删除”的情况代码。
问题描述:
此问题的出现是由于 PHP 5.3 及以上版本中弃用了调用时引用传递。以前,您可以在函数调用期间使用“&”与符号通过引用传递变量。然而,PHP 5.4 版本删除了此功能,需要在函数定义中显式声明传递引用。
解决方案:
要解决此问题,必须在函数定义本身中而不是在函数期间通过引用声明调用
示例:
不要使用以下代码:
// Deprecated myFunc(&$arg); function myFunc($arg) { // ... }
您应该将其重写为:
// Correct myFunc($var); function myFunc(&$arg) { // ... }
重要提示:
虽然它可能很诱人为了坚持使用传统的调用时传递引用方法来避免代码重写,强烈建议更新您的代码以符合 PHP 的建议。这不仅确保了与较新 PHP 版本的兼容性,还消除了将来出现弃用警告和错误的可能性。
以上是如何修复 PHP 中的'调用时间传递引用已被删除”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!