ホームページ >バックエンド開発 >PHPチュートリアル >PHPコールバック関数の使い方(詳細例)

PHPコールバック関数の使い方(詳細例)

WBOY
WBOYオリジナル
2021-10-15 14:36:384868ブラウズ

前回の記事では「PHPカスタム関数の遊び方(概要共有)」をご紹介しましたが、この記事ではPHPのカスタム関数について詳しく紹介していきます。 PHP 関数の基本的なコールバック関数。お役に立てれば幸いです!

PHPコールバック関数の使い方(詳細例)

#PHP コールバック関数


コールバック関数は、匿名関数や変数関数と連携してより多くの関数を実現できる関数構造です。

コールバック関数とは何ですか?

PHP のコールバック関数は、実際には、関数を呼び出すときに、標準変数をパラメータとして関数に渡すのではなく、別の関数がパラメータとして呼び出された関数に渡されることを意味します。パラメータを取る関数。

コールバック関数も定義した関数ですが、直接呼び出されるのではなく、別の関数を呼び出す必要があることがわかります。

例は次のとおりです:

<?php
    function arithmetic($a, $b, $c) {
        return $a($b, $c);
    }
    function add($b,$c){
        return $b+$c;
    }
    $d = arithmetic(&#39;add&#39;, 5, 9);
    echo &#39;5 + 9 =&#39;.$d;
?>

出力結果:


PHPコールバック関数の使い方(詳細例)

さらに、PHP には 2 つの関数が用意されています。 call_user_func() および call_user_func_array() はコールバック関数をサポートします。

これら 2 つの関数の違いは次のとおりです。call_user_func_array() はコールバック関数のパラメータを配列の形式で受け取りますが、call_user_func() はコールバック関数のパラメータを特定の形式で受け取ります。パラメーター。

  • call_user_func_array()

call_user_func_array 関数はコールバック関数を呼び出し、配列をパラメータとして使用できます。コールバック関数。構文形式は次のとおりです。

call_user_func_array ($callback ,$param_arr)

構文形式では、$callback は呼び出されるコールバック関数、$param_arr はインデックス配列です。実際にそれを確認する例を見てみましょう:

<?php
    function arithmetic($f, $m, $n) {
        return call_user_func_array($f, array($m, $n));
    }
    function add($m,$n){
        return $m+$n;
    }
    $sum = arithmetic(&#39;add&#39;, 3, 4);
    echo &#39;3 + 4 =&#39;.$sum;
?>

出力結果:


PHPコールバック関数の使い方(詳細例)

    ##call_user_func()
  • call_user_func 関数will 1 つのパラメータをコールバック関数として呼び出します。構文形式は次のとおりです:
  • call_user_func ($callback [, $parameter, ... ])
このうち、$callback が呼び出されるコールバック関数、残りのパラメータがコールバック関数のパラメータです。複数のパラメータの間は ##," で区切られます。実際の動作を確認する例を見てみましょう:

<?php
    function arithmetic($f, $m, $n) {
        return call_user_func($f, $m, $n);
    }
    function add($m,$n){
        return $m+$n;
    }
    $sum = arithmetic(&#39;add&#39;, 250, 250);
    echo &#39;250 + 250 =&#39;.$sum;
?>

出力結果:


次に、変数関数の組み合わせを共有します。例:

<?php
function woziji($one,$two,$func){
       //我规定:检查$func是否是函数,如果不是函数停止执行本段代码,返回false
       if(!is_callable($func)){
               return false;
       }
       //我把$one、$two相加,再把$one和$two传入$func这个函数中处理一次
       //$func是一个变量函数,参见变量函数这一章
       echo $one + $two + $func($one,$two);
}
//我们定义几个函数试试
function plusx2( $foo , $bar){
       $result = ($foo+$bar)*2;
       return $result;
}
function jian( $x , $y ){
   $result = $x - $y;
   return $result;
}
//调用一下函数,woziji,向里面传入参数试试
echo woziji(20,10,&#39;plusx2&#39;);
//将plusx2改成jian试试结果
echo woziji(20,10,&#39;jian&#39;);
?>

出力結果: PHPコールバック関数の使い方(詳細例)


推奨学習: "

PHP Video Tutorial

"PHPコールバック関数の使い方(詳細例)

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

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