查詢

array_walk_recursive()函式—用法及示例

「 對陣列中的每個元素應用使用者定義的函式,無論陣列的維度和深度如何 」


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> 標籤,並列印出來。

補充糾錯
上一個函式: array_walk()函式
下一個函式: arsort()函式
熱門PHP函式
分享連結