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() 函數對數組中的每個元素應用用戶自定義函數。在函數中,數組的鍵名和鍵值是參數。

注释:您可以通过把用戶自定義函數中的第一個參數指定為引用:&$value,來改變數組元素的值(參見實例 2)。

提示:如需操作更深層的數組(一個數組中包含另一個數組),請使用 array_walk_recursive() 函數。

語法

array_walk(array,myfunction,userdata...)
參數 描述
array 必需。規定數組。
myfunction 必需。用戶自定義函數的名稱。
userdata,... 選項。規定用戶自定義函數的參數。您能夠向此函數傳遞任意多參數。

說明

array_walk() 函數對數組中的每個元素應用回調函數。如果成功則返回 TRUE,否則返回 FALSE。

典型情況下 myfunction 接受兩個參數。array 參數的值作為第一個,鍵名作為第二個。如果提供了選項參數 userdata 將被作為第三個參數傳遞給回調函數。

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

运行实例