首頁  >  文章  >  後端開發  >  php array_walk 對陣列中的每個元素套用使用者自訂函數詳解

php array_walk 對陣列中的每個元素套用使用者自訂函數詳解

高洛峰
高洛峰原創
2016-12-12 10:17:221379瀏覽

php array_walk 對數組中的每個元素應用使用者自訂函數

array_walk 使用使用者自訂函數對數組中的每個元素做回調處理

基本語法

bool uncarray_walk ( array &$array name, callable $f [, mixed $userdata = NULL ] )

將使用者自訂函數funcname 套用到array 陣列中的每個單元。

array_walk() 不會受到 array 內部陣列指標的影響。 array_walk() 會遍歷整個陣列而不管指標的位置。

參數介紹:

php array_walk 對陣列中的每個元素套用使用者自訂函數詳解

說明:

1.array_walk() 函數對數組中的每個元素應用回調函數。如果成功則回傳 TRUE,否則回傳 FALSE。

2.典型情況下 funname接受兩個參數。 array 參數的值作為第一個,鍵名作為第二個。如果提供了可選參數 userdata ,將作為第三個參數傳遞給回呼函數。

3.如果 funname函數需要的參數比給出的多,則每次 array_walk() 呼叫 funname時都會產生一個 E_WARNING 等級的錯誤。這些警告可以透過在 array_walk() 呼叫前加上 PHP 的錯誤操作子 @ 來抑制,或用 error_reporting()。

4.如果回呼函數需要直接作用於陣列中的值,可以將回呼函數的第一個參數指定為參考。

回傳值

成功時回傳 TRUE , 或在失敗時傳回 FALSE 。

實例:

<?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 />";
}
echo "Before ...:<br />";
array_walk($fruits, &#39;test_print&#39;);
array_walk($fruits, &#39;test_alter&#39;, &#39;fruit&#39;);
echo "... and after:<br />";
array_walk($fruits, &#39;test_print&#39;);
?>

   

運算fruit : lemon

a . fruit : orange 

b . fruit : banana 
c . fruit : apple



陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn