對(duì)數(shù)組中的每個(gè)元素應(yīng)用用戶自定義函數(shù):
<?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() 函數(shù)對(duì)數(shù)組中的每個(gè)元素應(yīng)用用戶自定義函數(shù)。在函數(shù)中,數(shù)組的鍵名和鍵值是參數(shù)。
注釋:您可以通過把用戶自定義函數(shù)中的第一個(gè)參數(shù)指定為引用:&$value,來改變數(shù)組元素的值(參見實(shí)例 2)。
提示:如需操作更深的數(shù)組(一個(gè)數(shù)組中包含另一個(gè)數(shù)組),請(qǐng)使用 array_walk_recursive() 函數(shù)。
array_walk(array,myfunction,userdata...)
參數(shù) | 描述 |
---|---|
array | 必需。規(guī)定數(shù)組。 |
myfunction | 必需。用戶自定義函數(shù)的名稱。 |
userdata,... | 可選。規(guī)定用戶自定義函數(shù)的參數(shù)。您能夠向此函數(shù)傳遞任意多參數(shù)。 |
array_walk() 函數(shù)對(duì)數(shù)組中的每個(gè)元素應(yīng)用回調(diào)函數(shù)。如果成功則返回 TRUE,否則返回 FALSE。
典型情況下 myfunction 接受兩個(gè)參數(shù)。array 參數(shù)的值作為第一個(gè),鍵名作為第二個(gè)。如果提供了可選參數(shù) userdata ,將被作為第三個(gè)參數(shù)傳遞給回調(diào)函數(shù)。
如果 myfunction 函數(shù)需要的參數(shù)比給出的多,則每次 array_walk() 調(diào)用 myfunction 時(shí)都會(huì)產(chǎn)生一個(gè) E_WARNING 級(jí)的錯(cuò)誤。這些警告可以通過在 array_walk() 調(diào)用前加上 PHP 的錯(cuò)誤操作符 @ 來抑制,或者用 error_reporting()。
注釋:如果回調(diào)函數(shù)需要直接作用于數(shù)組中的值,可以將回調(diào)函數(shù)的第一個(gè)參數(shù)指定為引用:&$value。(參見例子 3)
注釋:將鍵名和 userdata 傳遞到 myfunction 中是 PHP 4.0 新增加的。
返回值: | 如果成功則返回 TRUE,否則返回 FALSE。 |
PHP 版本: | 4+ |
設(shè)置一個(gè)參數(shù):
<?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")
;
?>
更改一個(gè)數(shù)組元素的值(請(qǐng)注意 &$value):
<?php
function myfunction(&$value,$key)
{
$value="yellow";
}
$a=array("a"=>"red","b"=>"green","c"=>"blue");
array_walk($a,"myfunction")
;
print_r($a);
?>
如對(duì)本文有疑問,請(qǐng)?zhí)峤坏浇涣髡搲?,廣大熱心網(wǎng)友會(huì)為你解答!! 點(diǎn)擊進(jìn)入論壇
Powered by 365建站網(wǎng) RSS地圖 HTML地圖
copyright © 2013-2024 版權(quán)所有 鄂ICP備17013400號(hào)