PHP関数call_user_funcとcall_user_func_array
の詳しい説明
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
?>
クラス内でメソッドを呼び出すのは奇妙です。実際には配列を使用しています。もちろん、new が省略されているのも斬新です。 {
function b( $c)?
{
echo $c;
}
}
call_user_func(array("a", "b"),"111") ;
//表示 111
?>
function a($b, $c)?
{
エコー $b;
エコー $c;
call_user_func_array('a', array("111", "222"));
//表示 111 222
?>
クラス ClassA
{
???? $bc = $b + $c;
echo $bc;
}
}
call_user_func_array(array) ('ClassA','bc'), array("111", "222"));
?>
function a(&$b)
{
$b++;
}
$c = 0;
call_user_func('a', &$c);
echo $c;//Display 1
call_user_func_array('a', array(&$c)); 🎜>echo $c;//display 2
?
?
php での call_user_func_array の簡単な使用法
call_user_func_array
説明
で指定されたユーザー定義関数を、? にパラメータを指定して呼び出します。 param_arr.?次に、別の例があります:
例を読めば少しは理解できるはずですよね?
これが私がこの関数を理解する方法です。もしそれが間違っていたとしても、すべての専門家がこれを笑わないことを願っています:
???? この関数の実際の使用法は、最初のパラメータが関数のオーバーロードに似ているためです。これは文字型であり、これは関数の名前です。実際、これは次のように使用されます。 PHP の擬似オーバーロード?、おそらく理解できると思いますが、この関数の存在のおかげで、関数のオーバーロードを次のように使用することもできることがわかりました。
function otest1 ($a) { echo( '一个参数' ); } function otest2 ( $a, $b) { echo( '二个参数' ); } function otest3 ( $a ,$b,$c) { echo( '三个啦' ); } function otest () { $args = func_get_args(); $num = func_num_args(); call_user_func_array( 'otest'.$num, $args ); } otest(1,2);
?