當前位置: 首頁> 函數類別大全> array_walk

array_walk

使用用戶自定義函數對數組中的每個元素做回調處理
名稱:array_walk
分類:數組
所屬語言:php
一句話介紹:對數組中的每個成員應用用戶函數。

定義和用法

array_walk()函數對數組中的每個元素應用用戶自定義函數。在函數中,數組的鍵名和鍵值是參數。

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

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

實例

例子1

對數組中的每個元素應用用戶自定義函數:

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

親自試一試

例子2

設置一個參數:

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

親自試一試

例子3

更改一個數組元素的值(請注意&$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 新增加的。

同類函數
  • 返回數組中的當前元素 current

    current

    返回數組中的當前元素
  • 從關聯數組中取得鍵名 key

    key

    從關聯數組中取得鍵名
  • 使用用戶自定義的比較函數對數組中的值進行排序並保持索引關聯 uasort

    uasort

    使用用戶自定義的比較函數對數組中的值進行
  • 使用傳遞的數組替換第一個數組的元素 array_replace

    array_replace

    使用傳遞的數組替換第一個數組的元素
  • 用回調函數比較數據來計算數組的差集 array_udiff

    array_udiff

    用回調函數比較數據來計算數組的差集
  • 計算數組中所有值的乘積 array_product

    array_product

    計算數組中所有值的乘積
  • 使用鍵名比較計算數組的差集 array_diff_key

    array_diff_key

    使用鍵名比較計算數組的差集
  • 以指定長度將一個值填充進數組 array_pad

    array_pad

    以指定長度將一個值填充進數組
熱門文章