関数 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,
配列を畳み込む