PHPカスタム関數(shù)匿名関數(shù)
いわゆる匿名性とは、名前がないことを意味します。
匿名関數(shù)、つまり関數(shù)名のない関數(shù)。
匿名関數(shù)の最初の使用法は、代入を変數(shù)に直接割り當(dāng)てることであり、変數(shù)を呼び出すことが関數(shù)の呼び出しです。
匿名関數(shù)の記述方法がより柔軟になりました。
1. 変數(shù)関數(shù)の匿名関數(shù)
<?php $greet = function($name) { echo $name.',你好'; }; $greet('明天'); $greet('PHP中文網(wǎng)'); ?>
上記の例の関數(shù)本體には関數(shù)名がなく、$greent と括弧を介して呼び出されます。
2. コールバックスタイルの匿名関數(shù)
前の例を見(jiàn)てみましょう。実際の使用シナリオでは、関數(shù)を通じてさらに多くの機(jī)能を?qū)g裝する必要があります。ただし、関數(shù)を具體的に定義するつもりはありません。コールバック関數(shù)の例を確認(rèn)してみましょう:
<?php function woziji($one,$two,$func){ //我規(guī)定:檢查$func是否是函數(shù),如果不是函數(shù)停止執(zhí)行本段代碼,返回false if(!is_callable($func)){ return false; } //我把$one、$two相加,再把$one和$two傳入$func這個(gè)函數(shù)中處理一次 //$func是一個(gè)變量函數(shù),參見(jiàn)變量函數(shù)這一章 echo $one + $two + $func($one,$two); } woziji(20,30,function( $foo , $bar){ $result = ($foo+$bar)*2; return $result; } ); ?>
プロセスについて注意深く考えてみましょう。前の章で、plusx2 が匿名関數(shù)
<?php function( $foo , $bar){ $result = ($foo+$bar)*2; return $result; } ?>
に置き換えられただけです。したがって、関數(shù)名 function は呼び出されるときに関數(shù)名を持ちません。上記のいくつかの方法で匿名関數(shù)を使用できます。