21

考虑以下示例:

function myTest(&$var)
{ 
    $var++;
    echo "var = {$var}\n";
}

$x = 42;
call_user_func('myTest', $x);

它显示警告:

警告:myTest() 的参数 1 应为参考,在 /home/alain/workspace/echo/echo.php(57) 中给出的值:第 7 行的 eval()'d 代码

注意:在在线沙箱上编写的代码,解释了 eval。

知道如何传递对call_user_func家庭功能的引用吗?

4

1 回答 1

39

我在PHP 手册上找到了答案:

笔记:

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

他们还提供了一个技巧来完成这项工作:

$x = 42;
call_user_func_array('myTest', array(&$x));
于 2012-12-10T09:49:43.923 回答