array_walk

(PHP 3>= 3.0.3, PHP 4 >= 4.0.0)

array_walk --  配列の各メンバーにユーザー関数を適用する。

説明

int array_walk (array arr, string func, mixed userdata)

arrの各要素にfunc という名前の関数を適用します。 funcには、配列の値が最初の引数として 渡され、配列のキーが2番目のパラメータとして渡されます。 userdataが指定された場合、3番目の引数として ユーザー関数に渡されます。 funcが2つまたは3つを超える引数を必要とする場合、 userdataの指定によっては、 array_walk()func をコールする度に警告が生成されます。 これらの警告は、array_walk()の前に '@'マークを付けるか error_reporting()を使用することにより 抑制されます。

注意 funcにより配列の値そのものを変更する必要 がある場合、funcの最初の引数は参照として 渡す必要があります。この場合、配列の要素に加えた変更は、配列自体 に対して行われます。

注意 キー及びuserdataをfuncに渡す処理は、 バージョン 4.0で追加されました。

PHP 4では、array_walk()で配列のリセットがデフォ ルトで行われないため、reset()をコールする必要 があります。

例 1array_walk()の例


$fruits = array ("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
 
function test_alter (&$item1, $key, $prefix) {
   $item1 = "$prefix: $item1";
}

function test_print ($item2, $key) {
   echo "$key. $item2<br>\n";
}

array_walk ($fruits, 'test_print');
reset ($fruits);
array_walk ($fruits, 'test_alter', 'fruit');
reset ($fruits);
array_walk ($fruits, 'test_print');
      

each()およびlist() も参照下さい。