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>
标签,并打印出来。