PHP array_walk() 函數(shù)
定義和用法
array_walk() 函數(shù)對數(shù)組中的每個元素應用回調(diào)函數(shù)。如果成功則返回 TRUE,否則返回 FALSE。
典型情況下 function 接受兩個參數(shù)。array 參數(shù)的值作為第一個,鍵名作為第二個。如果提供了可選參數(shù) userdata ,將被作為第三個參數(shù)傳遞給回調(diào)函數(shù)。
如果 function 函數(shù)需要的參數(shù)比給出的多,則每次 array_walk() 調(diào)用 function 時都會產(chǎn)生一個 E_WARNING 級的錯誤。這些警告可以通過在 array_walk() 調(diào)用前加上 PHP 的錯誤操作符 @ 來抑制,或者用 error_reporting()。
語法
array_walk(array,function,userdata...)
參數(shù) | 描述 |
---|---|
array | 必需。規(guī)定數(shù)組。 |
function | 必需。用戶自定義函數(shù)的名稱。 |
userdata | 可選。用戶輸入的值,可作為回調(diào)函數(shù)的參數(shù)。 |
提示和注釋
提示:您可以為函數(shù)設置一個或多個參數(shù)。
注釋:如果回調(diào)函數(shù)需要直接作用于數(shù)組中的值,可以將回調(diào)函數(shù)的第一個參數(shù)指定為引用:&$value。(參見例子 3)
注釋:將鍵名和 userdata 傳遞到 function 中是 PHP 4.0 新增加的。
例子 1
<?php function myfunction($value,$key) { echo "The key $key has the value $value<br />"; } $a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse"); array_walk($a,"myfunction"); ?>
輸出:
The key a has the value Cat The key b has the value Dog The key c has the value Horse
例子 2
帶有一個參數(shù):
<?php function myfunction($value,$key,$p) { echo "$key $p $value<br />"; } $a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse"); array_walk($a,"myfunction","has the value"); ?>
輸出:
a has the value Cat b has the value Dog c has the value Horse
例子 3
改變數(shù)組元素的值(請注意 &$value):
<?php function myfunction(&$value,$key) { $value="Bird; } $a=array("a"=>"Cat","b"=>"Dog","c"=>"Horse"); array_walk($a,"myfunction"); print_r($a); ?>
輸出:
Array ( [a] => Bird [b] => Bird [c] => Bird )