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