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+