PHP array_walk()関数
例
配列の各要素にユーザー定義関数を適用します:
<?php function myfunction($value,$key) { echo "The key $key has the value $value<br>"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction"); ?>
定義と使用法
array_walk()関数は配列の各要素にユーザー定義関数を適用します。関数内では、配列のキー名とキー値が引数として提供されます。
注釈:ユーザー定義関数の最初の引数を参照として指定することで、配列の要素の値を変更できます(例2を参照)。&$value
ヒント:より深い配列(配列内に配列が含まれる場合)を操作するには、 array_walk_recursive() 関数。
文法
array_walk(array,myfunction,userdata...)
引数 | 説明 |
---|---|
array | 必須です。配列を指定します。 |
myfunction | 必須です。ユーザー定義関数の名前です。 |
userdata,... | オプションです。ユーザー定義関数の引数を指定します。この関数には任意の多くの引数を渡すことができます。 |
説明
array_walk()関数は配列の各要素にカールバック関数を適用します。成功した場合TRUEを返し、それ以外の場合FALSEを返します。
典型的な場合 myfunction 2つの引数を受け入れます。array 引数の値は1番目、キー名は2番目として提供されます。オプションの引数が提供された場合 userdata コールバック関数に3番目の引数として渡されます。
如果 myfunction 関数が必要とする引数が与えられたよりも多くある場合、array_walk() 呼び出しの各回で myfunction 時は E_WARNING 構造のエラーが発生します。これらの警告は、array_walk() 呼び出しの前に PHP のエラーハンドリング演算子 @ を使用して抑制したり、error_reporting() を使用して抑制できます。
注釈:コールバック関数が配列の値に直接作用する必要がある場合、コールバック関数の最初の引数を参照として指定することができます:&$value。(例 3 を参照してください)
注釈:キー名と userdata 渡されます myfunction 中は PHP 4.0 で新しく追加されました。
技術的詳細
返り値: | 成功した場合 TRUE を、そうでない場合 FALSE を返します。 |
PHP バージョン: | 4+ |
さらに例
例 1
パラメータを設定します:
<?php function myfunction($value,$key,$p) { echo "$key $p $value<br>"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction","has the value"); ?>
例 2
配列の要素の値を変更します($valueへの参照を注意してください):
<?php function myfunction(&$value,$key) { $value="yellow"; } $a=array("a"=>"red","b"=>"green","c"=>"blue"); array_walk($a,"myfunction"); print_r($a); ?>