PHP array_walk_recursive() 関数
例
配列の各要素にユーザー定義関数を適用します:
<?php function myfunction($value, $key) { echo "鍵 $key の値は $value です。<br>"; } $a1 = array("a" => "red", "b" => "green"); $a2 = array($a1, "1" => "blue", "2" => "yellow"); array_walk_recursive($a2,"myfunction"); ?>
定義と使用法
array_walk_recursive() 関数が配列の各要素にユーザー定義関数を適用します。関数内では、配列のキー名とキー値が引数として使用されます。
この関数は、 array_walk() 関数の違いは、より深い配列(配列内に配列が含まれる)を操作できることです。
文法
array_walk_recursive(array,myfunction,parameter...)
引数 | 説明 |
---|---|
array | 必須。配列を指定します。 |
myfunction | 必須。ユーザー定義関数の名前を指定します。 |
userdata,... | オプション。ユーザー定義関数の引数を指定します。この関数には任意の数の引数を渡すことができます。 |
説明
と array_walk() 関数は似ていますが、array_walk_recursive() 関数は配列の各要素にコールバック関数を適用します。違いは、元の配列の要素が配列の場合、コールバック関数を再帰的に呼び出すことです、つまり、より深いレベルの配列にまで再帰的に適用されます。
一般的な場合、myfunction 2つの引数を受け入れます。array 引数の値は最初、キー名は 2番目に指定されます。オプションの引数が提供された場合 userdata は、コールバック関数に 3番目の引数として渡されます。
コールバック関数が配列の値に直接作用する必要がある場合、コールバック関数の最初の引数を参照として指定することで、これらのエレメントのいかなる変更も元の配列に影響を与えます。
技術的詳細
返り値: | 成功した場合 TRUE を返し、それ以外は FALSE を返します。 |
PHP バージョン: | 5+ |