array_walk_recursive: 配列の全ての要素に、ユーザー関数を再帰的に適用する (配列 関数) - PHPプロ!マニュアル
array_walk_recursive: 配列の全ての要素に、ユーザー関数を再帰的に適用する
array_walk_recursive
(PHP 5)
array_walk_recursive — 配列の全ての要素に、ユーザー関数を再帰的に適用する
説明
input 配列の各要素にユーザ定義関数 funcnameを適用します。 この関数は配列の要素内を再帰的にたどっていきます。
パラメータ
- input
-
入力の配列。
- funcname
-
通常、 funcname は引数を二つとります。 input パラメータの値が最初の引数、 キー/添字は二番目の引数となります。
注意:
funcname により配列の値そのものを変更する必要がある場合、 funcname の最初の引数は 参照 として渡す必要があります。この場合、配列の要素に加えた変更は、 配列自体に対して行われます。
- userdata
-
オプションの userdata パラメータが指定された場合、 コールバック関数 funcname への三番目の引数として渡されます。
返り値
成功した場合に 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() - 配列の全ての要素にユーザ関数を適用する
- callback 型に関する情報




ページのトップへ


一つの目安として、ECサイトの購入情報など絶対に消えてはいけないものはDBに、カートなどの一時的に使用する情報や、ユーザに任意のタイミングで消去されても構わないものはセッションにと使い分けるといいでしょう。