array_walk_recursive()
函式對陣列中的每個元素應用使用者定義的函式,無論陣列的維度和深度如何。它可以遞迴地處理多維陣列,並在每個元素上執行相同的操作。
以下是 array_walk_recursive()
函式的用法及示例:
用法:
array_walk_recursive(array $array, callable $callback, $userdata = null): bool
引數:
$array
:要迭代的陣列。$callback
:要在每個元素上呼叫的回撥函式。$userdata
(可選):傳遞給回撥函式的使用者自定義資料。
返回值:
- 該函式將返回一個布林值,表示回撥函式是否成功應用於陣列中的每個元素。
示例:
// 定義一個回撥函式
function printValue($value, $key)
{
echo "<li>$key: $value</li>";
}
// 定義一個多維陣列
$fruits = array(
"apple" => array("color" => "red", "taste" => "sweet"),
"banana" => array("color" => "yellow", "taste" => "sweet"),
"orange" => array("color" => "orange", "taste" => "sour")
);
// 使用 array_walk_recursive 函式應用回撥函式到每個元素
array_walk_recursive($fruits, 'printValue');
輸出:
<li>color: red</li>
<li>taste: sweet</li>
<li>color: yellow</li>
<li>taste: sweet</li>
<li>color: orange</li>
<li>taste: sour</li>
以上示例中,printValue()
函式被應用於 $fruits
陣列的每個元素。該函式會在每個元素的鍵和值之間插入一個 HTML <li>
標籤,並列印出來。