⊗ppSpFnIFC 12 of 83 menu

PHPの組み込み関数におけるコールバック

PHPには、パラメータとしてコールバックを受け取る組み込み関数がいくつかあります。 その一般的な使い方を、関数 array_map を例に学びましょう。 この関数は、最初のパラメータとしてコールバックを、 2番目のパラメータとして配列を受け取ります。 この関数は、配列の各要素にコールバックを適用し、 変更された配列を返します。

これまでに学んだ知識を踏まえて、 この関数の使用例を見てみましょう。

方法 1

組み込み関数 sqrt を使って、 配列の各要素から平方根を抽出しましょう。 そのために、コールバックのパラメータとして この関数の名前を文字列で渡します。

<?php $arr = [1, 2, 3, 4, 5]; $res = array_map('sqrt', $arr); var_dump($res); ?>

方法 2

作成した通常の関数を使って、 配列の各要素を2乗しましょう。 そのために、コールバックのパラメータとして この関数の名前を文字列で渡します。

<?php $arr = [1, 2, 3, 4, 5]; function func($num) { return $num ** 2; } $res = array_map('func', $arr); var_dump($res); ?>

方法 3

関数を変数に格納された匿名関数に書き換えましょう。

<?php $arr = [1, 2, 3, 4, 5]; $func = function ($num) { return $num ** 2; }; $res = array_map($func, $arr); var_dump($res); ?>

方法 4

匿名関数をパラメータとして直接渡しましょう。

<?php $arr = [1, 2, 3, 4, 5]; $res = array_map(function ($num) { return $num ** 2; }, $arr); var_dump($res); ?>

方法 5

アロー関数を使いましょう。

<?php $arr = [1, 2, 3, 4, 5]; $res = array_map(fn ($num) => $num ** 2, $arr); var_dump($res); ?>

方法 6

今度は、数値をべき乗する指数を、 コールバックの外部変数で指定するとしましょう。 use を使ってこの変数にアクセスしましょう。

<?php $arr = [1, 2, 3, 4, 5]; $pow = 3; $res = array_map(function ($num) use ($pow) { return $num ** $pow; }, $arr); var_dump($res); ?>

方法 7

前のコードをアロー関数で書き直しましょう。 これで、変数 $pow に自動的にアクセスできるようになります。

<?php $arr = [1, 2, 3, 4, 5]; $pow = 3; $res = array_map(fn ($num) => $num ** $pow, $arr); var_dump($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
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否