1.call_user_func第二个参数可以接收可变数量的参数,而call_user_func_array第二个参数只能接收数组。 2.call_user_func只能进行值传递,而call_user_func_array支持值传递和引用传递。 代码如下 <?php error_reporting(E_ALL); function increment(&$var) { $var++; } $a = 0; call_user_func('increment', $a); echo $a."\n"; // it is possible to use this instead call_user_func_array('increment', array(&$a)); echo $a."\n"; // it is also possible to use a variable function $increment = 'increment'; $increment($a); echo $a."\n";