小编典典

PHP 5.4 Call-time pass-by-reference - 可以轻松修复吗?

all

有什么方法可以轻松解决这个问题,还是我真的需要重写所有遗留代码?

PHP 致命错误:在第 30 行的 … 中删除了调用时传递引用

这在任何地方都会发生,因为变量在整个代码中作为引用传递给函数。


阅读 71

收藏
2022-06-15

共1个答案

小编典典

您应该在函数定义中通过引用来表示调用,而不是实际调用。由于 PHP 在 5.3 版中开始显示弃用错误,我认为重写代码是个好主意。

从文档中

函数调用没有参考符号 - 仅在函数定义上。 仅函数定义就足以通过引用正确传递参数。&从 PHP 5.3.0
开始,当您使用in时,您将收到一条警告说“调用时传递引用”已被弃用foo(&$a);

例如,而不是使用:

// Wrong way!
myFunc(&$arg);               # Deprecated pass-by-reference argument
function myFunc($arg) { }

利用:

// Right way!
myFunc($var);                # pass-by-value argument
function myFunc(&$arg) { }
2022-06-15