考虑这个PHP代码:
call_user_func(array(&$this, 'method_name'), $args);
我知道它在定义函数时意味着传递引用,但是在调用函数时是什么?
答案 0 :(得分:14)
来自Passing By Reference文档页面:
您可以通过引用传递变量 一个功能所以功能可以 修改变量。语法如下 如下:
<?php
function foo(&$var)
{
$var++;
}
$a=5;
foo($a);
// $a is 6 here
?>
...在PHP的最新版本中,您将会这样做 得到一个警告说“通话时间 “按引用传递”在以下情况下已弃用 你用&amp;在foo(&amp; $ a);
答案 1 :(得分:-1)
这是一个传递参考。
答案 2 :(得分:-2)
call_user_func(array(&$this, 'method_name'), $args);
此代码生成通知: 注意:未定义的变量:这个
这是一个正确的例子:
<?php
error_reporting(E_ALL);
function increment(&$var)
{
$var++;
}
$a = 0;
call_user_func('increment', $a);
echo $a."\n";
// You can use this instead
call_user_func_array('increment', array(&$a));
echo $a."\n";
?>
The above example will output:
0
1