array_walk_recursive

(PHP 5, PHP 7, PHP 8)

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

說明

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

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

參數(shù)

array

輸入的數(shù)組。

callback

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

注意:

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

arg

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

返回值

成功時返回 true, 或者在失敗時返回 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');
?>

以上例程會輸出:

a holds apple
b holds banana
sour holds lemon

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

參見

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