array_walk

基本介紹

  • 中文名:對數組中的每個成員套用用戶函式
  • 外文名:array_walk
  • 領域:電腦公司
  • 組成:array &array,callback funcname
簡介,說明,

簡介

(PHP 3 >= 3.0.3, PHP 4, PHP 5)
array_walk -- 對數組中的每個成員套用用戶函式

說明

bool array_walk ( array &array, callback funcname [, mixed userdata] )
如果成功則返回 TRUE,失敗則返回 FALSE。
用戶自定義函式 funcname 套用到 array 數組中的每個單元。典型情況下 funcname 接受兩個參數。array 參數的值作為第一個,鍵名作為第二個。如果提供了可選參數 userdata,將被作為第三個參數傳遞給 callback funcname。
如果 funcname 函式需要的參數比給出的多,則每次 array_walk() 調用 funcname 時都會產生一個 E_WARNING 級的錯誤。這些警告可以通過在 array_walk() 調用前加上 PHP 的錯誤操作符 @ 來抑制,或者用 error_reporting()。
注: 如果 funcname 需要直接作用於數組中的值,則給 funcname 的第一個參數指定為引用。這樣任何對這些單元的改變也將會改變原始數組本身。
注: 將鍵名和 userdata 傳遞到 funcname 中是 PHP 4.0 新增加的。
array_walk() 不會受到 array 內部數組指針的影響。array_walk() 會遍歷整個數組而不管指針的位置。
用戶不應在回調函式中改變該數組本身。例如增加/刪除單元,unset 單元等等。如果 array_walk() 作用的數組改變了,則此函式的的行為未經定義,且不可預期。
例子 1. array_walk() 例子
<?php
$fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
function test_alter(&$item1, $key, $prefix)
{
$item1 = "$prefix: $item1";
}
function test_print($item2, $key)
{
echo "$key. $item2<br />\n";
}
echo "Before ...:\n";
array_walk($fruits, 'test_print');
array_walk($fruits, 'test_alter', 'fruit');
echo "... and after:\n";
array_walk($fruits, 'test_print');
?>
上例將輸出:

相關詞條

熱門詞條

聯絡我們