184 of 410 menu

関数 array_reduce

関数 array_reduce は、コールバックを使用して 配列を単一の値に縮約(還元)します。

最初のパラメータとして配列を受け取り、 2番目のパラメータとして、配列の各要素に 順番に適用されるコールバックを受け取ります。

3番目のオプションパラメータは、 配列の縮約を開始する初期値です。 デフォルトではこのパラメータの値は null です。

コールバック関数は2つの値をパラメータとして受け取ります。 最初の値には、前回のイテレーションの結果値が含まれます。 一方、最初のイテレーションでは、 3番目のパラメータの値が含まれます。

そして、コールバックの2番目の値には 配列の現在の要素が含まれます。

コールバックは配列の各要素に 順番に適用されます。現在のイテレーションで コールバックが返す値は、次のイテレーションでの コールバックの最初のパラメータに入ります。

このようにして、コールバックは順番に 配列の各要素に適用され、最終的に ある値が得られます。この値が 関数 array_reduce の結果となります。

構文

array_reduce(array $array, callable $callback, mixed $initial = null): mixed

配列の要素の合計を求めてみましょう:

<?php $arr = [1, 2, 3, 4, 5]; function func($prev, $elem) { return $prev + $elem; } $res = array_reduce($arr, 'func', 0); echo $res; ?>

コードの実行結果:

15

関連項目

  • 関数 array_map,
    配列の要素に関数を適用する関数
  • 関数 array_walk,
    配列の要素に対して関数を呼び出す関数
  • 関数 array_filter,
    配列をフィルタリングする関数
  • 関数 array_walk_recursive,
    配列の要素に対して再帰的に関数を呼び出す関数
日本語
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
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否