function HelloFunc($Arg1 , $Arg2 , $Arg3 ){
echo "Arg1 : " . $Arg1 . "\n";
echo "Arg2 : " . $Arg2 . "\n";
echo "Arg3 : " . $Arg3 . "\n";
return "done";
}
比较输出
echo call_user_func("HelloFunc" , "1" , "2" , "3");
Arg1 : 1
Arg2 : 2
Arg3 : 3
done
echo call_user_func_array("HelloFunc" , "1" , "2" , "3");
Warning: call_user_func_array() expects exactly 2 parameters
我的问题是,使用 call_user_func& call_user_func_array
我知道 call_user_method& call_user_method_array 是折旧的,在PHP7中不起作用。并且 call_user_func& call_user_func_array 在较旧的PHP中不起作用。
关联以下内容以使其与大多数php版本兼容
是一个好主意call_user_method = call_user_func
call_user_method_array = call_user_func_array
喜欢:
function_exists('call_user_method ') ? call_user_method() : call_user_func ();
function_exists('call_user_method_array ') ? call_user_method_array () : call_user_func_array();
答案 0 :(得分:3)
您可以同时使用
call_user_func_array
和call_user_func
取决于您的数据。
对于call_user_func_array,正如名称所述,它应该是一个数组。因此,请使用call_user_func_array('funntion', $arr)
。
问题echo call_user_func_array("HelloFunc" , array("1" , "2" , "3"));
。
您的HelloFunc
功能如何:
function HelloFunc($arg1, $arg2, $arg3){
}
更多详情:function.call-user-func-array.php,function.call-user-func.php