182 of 410 menu

関数 array_walk_recursive

関数 array_walk_recursive は、指定した 関数を多次元配列のすべての要素に適用します。 成功時に true を返し、 エラー発生時には false を返します。 最初のパラメータとして配列を受け取り、 2番目のパラメータとしてコールバックを受け取ります。

コールバックには2つのパラメータが渡されます。 最初のパラメータは配列要素の値、 2番目のパラメータはキーです。

関数に渡された配列自体は 変更されません。しかし、これは 参照渡しを使用することで実現できます。

構文

array_walk_recursive(array|object &$array, callable $callback, mixed $arg = null): bool

多次元配列を走査し、 そのキーと要素を出力してみましょう:

<?php $arr = [ 'a' => 1, 'b' => 2, 'c' => [ 'd' => 3, 'e' => 4, ], ]; array_walk_recursive($arr, function($elem, $key) { echo $key . ' ' . $elem . '<br>'; }); ?>

コードの実行結果:

'a 1' 'b 2' 'd 3' 'e 4'

配列を走査し、 その要素を 2乗してみましょう:

<?php $arr = [ 'a' => 1, 'b' => 2, 'c' => [ 'd' => 3, 'e' => 4, ], ]; array_walk_recursive($arr, function(&$elem, $key) { $elem = $elem ** 2; }); var_dump($arr); ?>

コードの実行結果:

[ 'a' => 1, 'b' => 4, 'c' => [ 'd' => 9, 'e' => 16, ], ];

関連項目

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