PHPカスタム関数コールバック関数
コールバック関数を匿名関数や変数関数と併用して、より美しく複雑な関数構造を実現できます。
コールバック関数とは、関数を処理するときに、この関数の呼び出しを許可するときに、処理を連携して支援する関数を渡すこともできることを意味します。
これは変数関数とコールバック関数を組み合わせる章です。
<?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,'plusx2'); //将plusx2改成jian试试结果 echo woziji(20,10,'jian'); ?>
プロセスは次のとおりです:
1. 仮パラメータ $one に 20、$two に 10 を代入し、$func に 2 つの変数関数 plusx2 または jian を代入します
2. woziji では、この関数では、 plusx2 または jian が関数であるかどうかを判定し、関数でない場合は false を返し、実行を停止します。 3. plusx2 または jian が関数であることを表示します。したがって、$one = 20、$two =10 が加算されます。加算後、$one と $two は $func($one,$two) に取り込まれます。
4. 取り込んだ後の $func は変数であり、plusx2 または jian にすることができます。 plusx2の場合は、plusx2関数の$one = 20, $two = 10の2つの結果を$fooと$barに与えます
5.$foo + $barを2倍して結果をwozijiに返します関数本体の操作: $one + $two + $func($one,$two);
6. このようにして、操作の主な結果が得られます
これで、コールバック関数を理解しました。呼び出し番号、パス 関数名を入力し、関数名に () 括弧を追加します。変数関数として認識してまとめて実行します。