定義と使用法
array_walk() 関数は、配列内の各要素にコールバック関数を適用します。成功した場合は TRUE を返し、そうでない場合は FALSE を返します。
通常、関数は 2 つのパラメータを受け入れます。配列パラメータの値が最初のパラメータとして使用され、キー名が 2 番目のパラメータとして使用されます。オプションのパラメーター userdata が指定されている場合、それは 3 番目のパラメーターとしてコールバック関数に渡されます。
関数が指定されたよりも多くの引数を必要とする場合、array_walk() が関数を呼び出すたびに E_WARNING レベルのエラーが生成されます。これらの警告は、array_walk() 呼び出しの前に PHP のエラー演算子 @ を付けるか、error_reporting() を使用することで抑制できます。
構文array_walk(array,function,userdata...)
array | 必須。配列を指定します。 |
機能 | 必須。ユーザー定義関数の名前。 |
ユーザーデータ | オプション。ユーザーが入力した値は、コールバック関数のパラメータとして使用できます。 |
ヒントとメモ
ヒント: 関数には 1 つ以上のパラメーターを設定できます。
注: コールバック関数が配列内の値に直接作用する必要がある場合は、コールバック関数の最初のパラメーターを参照として指定できます: &$value。 (例 3 を参照)
注: キー名とユーザーデータを関数に渡すことは、PHP 4.0 の新機能です。
例 1
<?phpfunction myfunction($value,$key) {echo "The key $key has the value $value<br />";}$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");array_walk($a,"myfunction");?>
出力:
The key a has the value CatThe key b has the value DogThe key c has the value Horse
例 2
パラメーターが 1 つある場合:
<?phpfunction myfunction($value,$key,$p) {echo "$key $p $value<br />";}$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");array_walk($a,"myfunction","has the value");?>
出力:
a has the value Catb has the value Dogc has the value Horse
配列要素の値を変更します (&$value に注意してください)
れーれー
出力:<?phpfunction myfunction(&$value,$key) {$value="Bird;}$a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse");array_walk($a,"myfunction");print_r($a);?>