以下是完整的代码尝试并告诉我为什么$ 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>";
?>
答案 0 :(得分:0)
这不是call_user_func_array
的工作方式。
call_user_func_array('increment', array(&$a, &$b));
执行
increment($a, $b);
不
increment($a);
increment($b);
如果您想要第二个选项,请尝试array_map
。