call_user_func函數的注意事項
parse error: syntax error, unexpected t_list, expecting t_string in
今天在使用這個函數的時候一直提示上述問題。參看官方的手冊也沒有介紹使用其的注意事項。
附:
mixed call_user_func ( callback $function [, mixed $parameter [, mixed $... ]] )
可以傳遞任何內置的或者用戶自定義的函數,除了語言結構如array(),echo(),empty(),eval(),exit(),isset(),list(),print() 和 unset()。
本人的問題就是在對象中存在一個叫list的方法名。故其和php教程的語言結構list()起沖突了。
看實例應用
call_user_func函數類似於一種特別的調用函數的方法,使用方法如下:
function a($b,$c)
{
echo $b;
echo $c;
}
call_user_func('a', "111","222");
call_user_func('a', "333","444");
//顯示 111 222 333 444
?>
調用類內部的方法比較奇怪,居然用的是array,不知道開發者是如何考慮的,當然省去了new,也是滿有新意的:
class a {
function b($c)
{
echo $c;
}
}
call_user_func(array("a", "b"),"111");
//顯示 111
?>
call_user_func_array函數和call_user_func很相似,只不過是換了一種方式傳遞了參數,讓參數的結構更清晰:
function a($b, $c)
{
echo $b;
echo $c;
}
call_user_func_array('a', array("111", "222"));
//顯示 111 222
?>