array_walk_recursive

(PHP 5, PHP 7, PHP 8)

array_walk_recursive對(duì)數(shù)組中的每個(gè)成員遞歸地應(yīng)用用戶函數(shù)

說明

array_walk_recursive(array|object &$array, callable $callback, mixed $arg = null): bool

將用戶自定義函數(shù) callback 應(yīng)用到 array 數(shù)組中的每個(gè)單元。本函數(shù)會(huì)遞歸到更深層的數(shù)組中去。

參數(shù)

array

輸入的數(shù)組。

callback

典型情況下 callback 接受兩個(gè)參數(shù)。array 參數(shù)的值作為第一個(gè),鍵名作為第二個(gè)。

注意:

如果 callback 需要直接作用于數(shù)組中的值,則給 callback 的第一個(gè)參數(shù)指定為引用。這樣任何對(duì)這些單元的改變也將會(huì)改變?cè)紨?shù)組本身。

arg

如果提供了可選參數(shù) arg,將被作為第三個(gè)參數(shù)傳遞給 callback。

返回值

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

范例

示例 #1 array_walk_recursive() 例子

<?php
$sweet 
= array('a' => 'apple''b' => 'banana');
$fruits = array('sweet' => $sweet'sour' => 'lemon');

function 
test_print($item$key)
{
    echo 
"$key holds $item\n";
}

array_walk_recursive($fruits'test_print');
?>

以上例程會(huì)輸出:

a holds apple
b holds banana
sour holds lemon

注意上例中的鍵 'sweet' 并沒有顯示出來。任何其值為 array 的鍵都不會(huì)被傳遞到回調(diào)函數(shù)中去。

參見

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