ホームページ  >  記事  >  バックエンド開発  >  PHP 関数 call_user_func と call_user_func_array_PHP チュートリアル

PHP 関数 call_user_func と call_user_func_array_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-20 11:02:47892ブラウズ

phpチュートリアル関数call_user_funcとcall_user_func_array
call_user_func 関数は、関数を呼び出す特別なメソッドに似ており、使用方法は次のとおりです。 関数 a($b,$c)
{
エコー $b;
エコー $c;
}
call_user_func('a', "111","222");
call_user_func('a', "333","444");
// 111 222 333 444 を表示します
?>

実際に配列を使ってメソッドを呼び出すのは奇妙ですが、開発者がどのように考えたかはわかりませんが、これも目新しさに満ちています。 クラス a {

関数 b($c)
{
エコー $c;
}
}
call_user_func(array("a", "b"),"111");
//111を表示
?>

call_user_func_array 関数は call_user_func と非常に似ていますが、パラメータ構造を明確にするためにパラメータが異なる方法で渡される点が異なります。 関数 a($b, $c)

{

エコー $b;
エコー $c;

}
call_user_func_array('a', array("111", "222"));

//111 222を表示

?>

call_user_func_array 関数はクラス内のメソッドを呼び出すこともできます

クラスA

{

関数 bc($b, $c) {
$bc = $b + $c;

エコー $bc;

}
}
call_user_func_array(array('ClassA','bc'), array("111", "222"));

//333 を表示
?>

call_user_func 関数と call_user_func_array 関数はどちらも参照をサポートしているため、通常の関数呼び出しと機能的に一貫性が高くなります。 関数a(&$b)
{

$b++;

}
$c = 0;
call_user_func('a', &$c);
echo $c;//1 を表示
call_user_func_array('a', array(&$c));
echo $c;//2 を表示



phpでのcall_user_func_arrayの簡単な使用法

今日のグループで、Lewis という人が call_user_func_array の使い方について質問してきたので、使ったことがないので何も言えず、マニュアルを見てみると、次のように書かれていました。

call_user_func_array

(PHP 4 >= 4.0.4、PHP 5)


call_user_func_array -- パラメーターの配列で指定されたユーザー関数を呼び出します

説明

混合 call_user_func_array (コールバック関数、配列 param_arr )

param_arr のパラメータを使用して、 function で指定されたユーザー定義関数を呼び出します。
そして、別の例があります:


例を読めば少しは理解できるはずですよね?

http://www.bkjia.com/PHPjc/445336.html
www.bkjia.com

tru​​ehttp://www.bkjia.com/PHPjc/445336.html技術記事 PHP チュートリアル関数 call_user_func と call_user_func_array call_user_func 関数は、関数を呼び出す特別なメソッドに似ており、使用方法は次のとおりです。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。