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);
?>

実行例