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 をコールする 必要があります。
例 1. array_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 も参照下さい。