溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么在php中利用array_walk 對(duì)數(shù)組中的元素自定義函數(shù)

發(fā)布時(shí)間:2020-12-15 15:47:55 來源:億速云 閱讀:149 作者:Leah 欄目:開發(fā)技術(shù)

怎么在php中利用array_walk 對(duì)數(shù)組中的元素自定義函數(shù)?針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。

php array_walk 對(duì)數(shù)組中的每個(gè)元素應(yīng)用用戶自定義函數(shù)

array_walk 使用用戶自定義函數(shù)對(duì)數(shù)組中的每個(gè)元素做回調(diào)處理

基本語法

bool array_walk ( array &$array , callable $funcname [, mixed $userdata = NULL ] )

將用戶自定義函數(shù) funcname 應(yīng)用到 array 數(shù)組中的每個(gè)單元。

array_walk() 不會(huì)受到 array 內(nèi)部數(shù)組指針的影響。 array_walk() 會(huì)遍歷整個(gè)數(shù)組而不管指針的位置。

參數(shù)介紹:

參數(shù)描述
array必需。輸入的數(shù)組。 
funname必需。用戶自定義函數(shù)的名稱。典型情況下 funcname 接受兩個(gè)參數(shù)。array 參數(shù)的值作為第一個(gè),鍵名作為第二個(gè)。如果 funcname 需要直接作用于數(shù)組中的值,則給 funcname 的第一個(gè)參數(shù)指定為引用。這樣任何對(duì)這些單元的改變也將會(huì)改變?cè)紨?shù)組本身。
userdata可選。規(guī)定用戶自定義函數(shù)的參數(shù)。如果提供了可選參數(shù) userdata,將被作為第三個(gè)參數(shù)傳遞給 callback funcname。

說明:

1.array_walk() 函數(shù)對(duì)數(shù)組中的每個(gè)元素應(yīng)用回調(diào)函數(shù)。如果成功則返回 TRUE,否則返回 FALSE。

2.典型情況下 funname接受兩個(gè)參數(shù)。array 參數(shù)的值作為第一個(gè),鍵名作為第二個(gè)。如果提供了可選參數(shù) userdata ,將被作為第三個(gè)參數(shù)傳遞給回調(diào)函數(shù)。

3.如果 funname函數(shù)需要的參數(shù)比給出的多,則每次 array_walk() 調(diào)用 funname時(shí)都會(huì)產(chǎn)生一個(gè) E_WARNING 級(jí)的錯(cuò)誤。這些警告可以通過在 array_walk() 調(diào)用前加上 PHP 的錯(cuò)誤操作符 @ 來抑制,或者用 error_reporting()。

4.如果回調(diào)函數(shù)需要直接作用于數(shù)組中的值,可以將回調(diào)函數(shù)的第一個(gè)參數(shù)指定為引用。

返回值

成功時(shí)返回 TRUE , 或者在失敗時(shí)返回 FALSE 。

實(shí)例:

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

關(guān)于怎么在php中利用array_walk 對(duì)數(shù)組中的元素自定義函數(shù)問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI