为什么会出现错误“预期为参考,给定值”?

php
2022-08-30 14:28:15

当我尝试通过引用调用参数的函数时,它会触发

function test(&$a) ...

通过

call_user_func('test', $b);

答案 1

call_user_func只能按值传递参数,而不能按引用传递参数。如果你想通过引用传递,你需要直接调用函数,或者使用call_user_func_array,它接受引用(但是这可能不适用于 PHP 5.3 及更高版本,这取决于手册的哪个部分)。


答案 2

来自call_user_func()

请注意,call_user_func() 的参数不是通过引用传递的。

所以,是的,有你的答案。但是,有一种方法可以解决这个问题,再次通读手册

call_user_func_array('test', array(&$b));

应该能够通过引用传递它。


推荐