以下是完整的代码,请尝试并告诉我为什么$b的值在下面的行中没有增加
call_user_func_array('increment', array(&$a, &$b));
以下代码的
<?php
error_reporting(E_ALL);
function increment(&$var) {
$var++;
}
$a = 0;
echo "$a<br>";
call_user_func('increment', &$a);
echo "$a<br>";
$b = 0;
call_user_func_array('increment', array(&$a, &$b));
echo "$a.$b<br>";
?>
call_user_func_array
不是这样工作的。
call_user_func_array('increment', array(&$a, &$b));
执行
increment($a, $b);
不是
increment($a);
increment($b);
如果您想要第二个选项,请尝试array_map
。