PHPにおけるcall user func()とcall_user_func_Array()呼び出しカスタム関数のまとめ

3287 ワード

call_user_func()とcall_user_func_array()は、文字列関数を入力することで、カスタム関数を呼び出し、参照をサポートし、ユーザーがカスタム関数を呼び出し、一定のパラメータを入力できるようにします.
1、mixed call_user_func ( callable $callback [, mixed $parameter [, mixed $... ]] )
最初のパラメータはカスタム関数名で、後のパラメータは関数のパラメータで、値はカスタム関数の結果を返します.
function say($word)
{
 echo $word;
}
call_user_func('say', 'hello world'); 
//  
//hello world

もちろん、クラス内のメソッドを呼び出すこともできます.
class World {
 function sayHello($word = '')
 {
  echo $word;
 }
} 
 //  ,        ,   static
$world = new World();
call_user_func([$world, 'sayHello'], 'hello world'); 
//   hello world

注意:配列を書く方法[]は、PHPバージョンがPHP 5である場合です.4以下は、やはりarray()
2、mixed call_user_func_array ( callable $callback , array $param_arr )
call user func()と機能的には同じですが、入力パラメータに少し違いがあるだけで、これは方法の命名から見ることができます.
function say($word)
{
 echo $word;
}
call_user_func_array('say', ['hello world']); //  :           
//  
//hello world
class World {
 function sayHello($word = '')
 {
  echo $word;
 }
} 
 //  ,        ,   static
$world = new World();
call_user_func_array([$world, 'sayHello'], ['hello world']); //  :          
//   hello world

転載先:https://www.cnblogs.com/Steven-shi/p/8353616.html