ホームページ  >  記事  >  バックエンド開発  >  PHP関数のコールバック関数(2) call_user_func_array()関数

PHP関数のコールバック関数(2) call_user_func_array()関数

伊谢尔伦
伊谢尔伦オリジナル
2017-05-12 11:31:262340ブラウズ

コールバック関数 呼び出される関数に引数として関数を渡します。関数の形式の説明にコールバック型のパラメーターが出現する場合、その関数はコールバック関数です。 変数関数を使用して独自のコールバック関数を宣言することもできますが、最も一般的な実装は call_user_func_array() 関数を使用することです。前の章では、php コールバック関数での変数関数の宣言と適用について紹介しました。変数関数を使用してユーザー定義の実行プロセスを関数に渡すと、ユーザーが関数関数を拡張できるようになり、ユーザーが自分でセクションを定義できるようになります。関数は内部使用のために関数に渡されます。このセクションでは、call_user_func_array() 関数を例を挙げて説明します。

関数 call_user_func_array() は、PHP の組み込み関数です。実際、その形式は次のとおりです:

mixed call_user_func_array( callback function, array param_arr)

この関数には 2 つのパラメーターがあります。最初のパラメーターは次のとおりです。疑似型コールバック。したがって、このパラメータには呼び出される関数の名前を表す文字列が必要です。2 番目のパラメータは、順序に従って呼び出される関数に渡されるパラメータ リストを表す配列型パラメータです。 。関数が出力され、関数のコールバック関数として機能することを目的とした関数を宣言します。

この関数の適用例は次のとおりです。

<?php
 // 声明一个函数fun(),功能是输出两个字符串,目的是作为call_user_func_array()函数的回调函数
 function fun($str1, $str2){
   echo "$str1 = ".$str1;
   echo "<br>";
   echo "$str2 = ".$str2;
 }
 //通过系统函数call_user_func_array()调用函数fun()
 call_user_func_array("fun",array("php.cn","php中文网"));
?>

上記の例では、システム関数 call_user_func_array() を通じて自己定義関数 fun() が呼び出され、 function fun() call_user_func_array() 関数の最初のパラメータは call_user_func_array() 関数に渡されます。 2 番目のパラメータには配列が必要です。 配列内の要素の数は fun( のパラメータ リストおよびツリーと同じである必要があります)。 ) 関数。この配列パラメータの各要素の値は、call_user_func_array() 関数を通じてコールバック関数 fun() パラメータ リストに順番に渡されるためです。したがって、変数関数を通じて実装されたカスタム コールバック関数を call_user_func_array() 関数に変更できます。

そのコードの例は次のとおりです:

<?php
 //声明回调函数filter, 在0-10的整数中通过自定义条件过滤不要的数字
 function filter($fun){
   for($i=0; $i<=10; $i++){
     //使用系统函数call_user_func_array(),调用和变量$fun值相同的函数
     if(call_user_func_array($fun,array($i)))
       continue;
     echo $i.&#39;<br>&#39;;
   }
 }
?>
この例では、カスタム関数 filter() 内で、元の変数関数の位置が call_user_func_array() 関数の助けを借りて呼び出されるように書き換えられ、関数 filter( ) は変更されていません。

この章では、call_user_func_array() 関数とその php コールバック関数の使用法について説明します。次の章では、php コールバック関数の

class 静的関数とオブジェクト メソッド コールバックを紹介します。

【おすすめ関連チュートリアル】

1.「

php.cn Dugu Jiijian (4) - PHPビデオチュートリアル

2.

PHPプログラミングの入門からマスターまでの完全なビデオチュートリアルセット


3.

PHP 実践ビデオチュートリアル

以上がPHP関数のコールバック関数(2) call_user_func_array()関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。