⊗ppSpFnCb 11 of 83 menu

PHPにおけるコールバック関数

コールバックとは、他の関数に パラメータとして渡される関数のことを指します。

例を見てみましょう。 ここに、最初のパラメータとして数値を受け取り、 2番目のパラメータとしてコールバックを受け取る関数があるとします:

<?php function func($num, $calb) { } ?>

この関数内で、渡された数値に対して コールバックが呼び出されるようにしましょう:

<?php function func($num, $calb) { echo $calb($num); } ?>

では、この関数にコールバックを渡す方法には どのようなものがあるか見ていきましょう。

方法 1

コールバックは通常の関数でも構いません:

<?php function calb($num) { return $num ** 2; } ?>

この場合、コールバックとして関数名を渡します:

<?php func(3, 'calb'); ?>

関数 func の内部では、 このコールバックが名前によって呼び出されます。

方法 2

コールバックは、変数に代入された 無名関数でも構いません:

<?php $calb = function($num) { return $num ** 2; }; ?>

この場合、関数を代入した変数をパラメータとして渡します:

<?php func(3, $calb); ?>

方法 3

無名関数を直接パラメータとして渡すこともできます:

<?php func(3, function($num) { return $num ** 2; }); ?>

方法 4

アロー関数を使うとコードを短縮できます:

<?php func(3, fn($num) => $num ** 2); ?>

実践的な課題

配列と、配列の各要素に適用されるコールバックを パラメータとして受け取る関数があります:

<?php function func($arr, $calb) { $res = []; foreach ($arr as $elem) { $res[] = $calb($elem); } return $res; } ?>

数値の配列と、渡された数値を二乗するコールバックを パラメータとして渡して、この関数を呼び出してください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否