Php/docs/function.array-walk-recursive

提供:Dev Guides
< Php
移動先:案内検索

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 を要素として持つキーは関数に渡されません。


参考

  • array_walk() - 配列の全ての要素にユーザー定義の関数を適用する