php call_user_func_arrayの詳細な使い方
1126 ワード
主に関数名が不確定でパラメータが不確定な場合に用いられ,異なるパラメータを伝達することによって異なる方法を呼び出す思想を体現している.
1.ダイレクトコール方法
2.オブジェクトの呼び出し方法
1.ダイレクトコール方法
function say($word){
echo $word;
}
call_user_func_array('say',array('Hello PHP'));
/* , , , */
/*
* say() , call_user_func_array false,
* :say(),
*/
2.オブジェクトの呼び出し方法
class S{
public function __construct(){
}
public static function say1($word){
echo $word;
}
public function say($word){
echo $word;
}
}
/* : */
call_user_func_array(array('S','say1'),array('Hello PHP'));
/* : */
call_user_func_array(array('S','say2'),array('Hello PHP'));
/* , $this , , */
/* : */
$s = new S();
call_user_func_array(array($s,'say2'),array('Hello PHP'));
call_user_func_array(array(&$s,'say2'),array('Hello PHP'));/*& */
call_user_func_array(array(new S(),'say2'),array('Hello PHP'));