この記事では、PHP で call user func() 関数を使用してカスタム定義関数を呼び出す方法を主に紹介します。興味のある方はぜひ参考にしてください。
call_user_func関数は、関数を呼び出す特別なメソッドに似ています。使用方法は次のとおりです。
<?php function nowamagic($a,$b) { echo $a; echo $b; } call_user_func('nowamagic', "",""); call_user_func('nowamagic', "",""); //显示 ?>
実際に配列を使用しているのは奇妙です。もちろん、 new は省略されていますが、これも非常に革新的です:
<?php class a { function b($c) { echo $c; } } call_user_func(array("a", "b"),""); //显示 ?>
call_user_func_array 関数は、パラメータの構造を明確にするために異なる方法でパラメータが渡されることを除いて、 call_user_func と非常によく似ています:
<?php function a($b, $c) { echo $b; echo $c; } call_user_func_array('a', array("", "")); //显示 ?>
call_user_func_array 関数は、クラス内のメソッドを呼び出すこともできます:
<?php Class ClassA { function bc($b, $c) { $bc = $b + $c; echo $bc; } } call_user_func_array(array('ClassA','bc'), array("", "")); //显示 ?>
call_user_func 関数と call_user_func_array 関数は両方とも参照をサポートしているため、通常の関数呼び出しとの機能の一貫性が高まります:
<?php function a($b) { $b++; } $c = ; call_user_func('a', $c); echo $c;//显示 call_user_func_array('a', array($c)); echo $c;//显示 ?> 另外,call_user_func函数和call_user_func_array函数都支持引用。 view sourceprint? <?php function increment(&$var) { $var++; } $a = ; call_user_func('increment', $a); echo $a; // call_user_func_array('increment', array(&$a)); // You can use this instead echo $a; // ?>
以下では、call_user_func の使用方法を紹介します。カスタム関数を呼び出すには
call_user_func 関数を使用し、文字列関数を渡すことで、カスタム関数を呼び出して参照をサポートできます。
1.mixed call_user_func ( callable $callback [,mixed $parameter[,mixed $... ]] )
最初のパラメータで提供されるカスタム関数を呼び出します。次のパラメータはカスタム関数のパラメータです、カスタム関数の結果を返します
function say($word) { echo $word; } call_user_func('say', 'hello world'); //hello world 当然也可以调用类中的方法: class A { function say($word = '') { echo $word; } } $a = new A(); //注意,必须是要实例化的,除非是static call_user_func(array($a, 'say'), 'hello world'); //hello world
2.mixed call_user_func_array ( callable $callback , array $param_arr )
call_user_func_array と call_user_func の関数は同じですが、パラメーターを呼び出すときにいくつかの違いがあるとします:
function a($word) { echo $word; } class A { function say($word = '') { echo $word; } } call_user_func_array('a', array('hello world')); //hello world $a = new A(); //注意,必须是要实例化的,除非是static call_user_func_array(array($a, 'say'), array('hello world')); //hello world
要約: この記事は以上です。記事の全内容が皆さんの学習に役立つことを願っています。
関連する推奨事項:
以上がcall user func() 関数を使用して PHP でユーザー定義関数を呼び出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。