array_walk
使用用戶自定義函數對數組中的每個元素做回調處理
array_walk()
函數對數組中的每個元素應用用戶自定義函數。在函數中,數組的鍵名和鍵值是參數。
註釋:您可以通過把用戶自定義函數中的第一個參數指定為引用:&$value,來改變數組元素的值(參見實例2)。
提示:如需操作更深的數組(一個數組中包含另一個數組),請使用array_walk_recursive()
函數。
對數組中的每個元素應用用戶自定義函數:
<?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" ) ; ?>
親自試一試
設置一個參數:
<?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" ) ; ?>
親自試一試
更改一個數組元素的值(請注意&$value):
<?php function myfunction ( & $value , $key ) { $value = "yellow" ; } $a = array ( "a" => "red" , "b" => "green" , "c" => "blue" ) ; array_walk ( $a , "myfunction" ) ; print_r ( $a ) ; ?>
親自試一試
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 新增加的。