array_walk_recursive
(PHP 5, PHP 7)
array_walk_recursive — 配列の全ての要素に、ユーザー関数を再帰的に適用する
説明
array_walk_recursive
( array|object &$array
, callable $callback
[, mixed $userdata
= null
] ) : bool
array
配列の各要素にユーザー定義関数
callback
を適用します。
この関数は配列の要素内を再帰的にたどっていきます。
パラメータ
array
入力の配列。
callback
通常、
callback
は引数を二つとります。array
パラメータの値が最初の引数、 キー/添字は二番目の引数となります。注意:
callback
により配列の値そのものを変更する必要がある場合、callback
の最初の引数は 参照 として渡す必要があります。この場合、配列の要素に加えた変更は、 配列自体に対して行われます。userdata
オプションの
userdata
パラメータが指定された場合、 コールバック関数callback
への三番目の引数として渡されます。
返り値
成功した場合に true
を、失敗した場合に false
を返します。
例
例1 array_walk_recursive() の例
<?php$sweet = array('a' => 'apple', 'b' => 'banana');$fruits = array('sweet' => $sweet, 'sour' => 'lemon');function test_print($item, $key){ echo "$key holds $item\n";}array_walk_recursive($fruits, 'test_print');?>
上の例の出力は以下となります。
a holds apple b holds banana sour holds lemon
キー 'sweet
' が表示されないことにお気づきでしょう。array
を要素として持つキーは関数に渡されません。