array_walk()
関数は、配列内の各要素にユーザー定義の関数を適用します。関数では、配列のキー名とキー値はパラメーターです。
注:ユーザー定義関数の最初のパラメーターを参照:&$値として指定することにより、配列要素の値を変更できます(例2を参照)。
ヒント:より深い配列(1つの配列に別の配列が含まれる)を操作するには、 array_walk_recursive()
関数を使用します。
配列内の各要素にユーザー定義の関数を適用します。
<?php 機能myfunction ( $ value 、 $ key ) { echo "キー$キーには値$ value <br>"があります。 } $ a = array ( "a" => "red" 、 "b" => "green" 、 "c" => "blue" ) ; array_walk ( $ a 、 "myfunction" ) ; ?>
自分で試してみてください
パラメーターを設定します:
<?php 機能myfunction ( $ value 、 $ key 、 $ p ) { echo " $ key $ p $ value <br>" ; } $ a = array ( "a" => "red" 、 "b" => "green" 、 "c" => "blue" ) ; array_walk ( $ a 、 "myfunction" 、 "has value" )) ; ?>
自分で試してみてください
配列要素の値を変更します(注&$値):
<?php 機能myfunction ( & $ value 、 $ key ) { $ value = "Yellow" ; } $ a = array ( "a" => "red" 、 "b" => "green" 、 "c" => "blue" ) ; array_walk ( $ a 、 "myfunction" ) ; print_r ( $ a ) ; ?>
自分で試してみてください
array_walk ( array 、 myfunction 、 userdata ... )
パラメーター | 説明する |
---|---|
配列 | 必須。配列を指定します。 |
myFunction | 必須。ユーザー定義関数の名前。 |
userdata 、... | オプション。ユーザー定義関数のパラメーターを指定します。この関数を好きなだけ多くのパラメーターを渡すことができます。 |
array_walk()
関数は、配列内の各要素にコールバック関数を適用します。成功した場合はtrueを返し、それ以外の場合はfalseを返します。
通常、 MyFunctionは2つのパラメーターを受け入れます。配列パラメーターの値は最初で、キー名は2番目です。オプションのパラメーターuserDataが提供されると、3番目のパラメーターとしてコールバック関数に渡されます。
MyFunction関数が与えられたよりも多くのパラメーターを必要とする場合、Array_Walk()がmyFunctionを呼び出すたびに、e_warningレベルのエラーが生成されます。これらの警告はarray_walk()
callの前にphpのエラーoperator @を追加するか、 error_reporting()
を使用して抑制できます。
注:コールバック関数が配列内の値に直接動作する必要がある場合、コールバック関数の最初のパラメーターを参照として指定できます:&$ value。 (例3を参照)
注:キー名とuserDataをmyFunctionに渡すことは、PHP 4.0に新たに追加されます。