{site_name}

{site_name}

🌜 搜索

在 PHP 中,array_walk_recursive() 函数用于递归地对数组的每个元素应用用户自定义的函数

php 𝄐 0
php array_walk与array_map区别
在 PHP 中,array_walk_recursive() 函数用于递归地对数组的每个元素应用用户自定义的函数。

该函数的语法如下:
array_walk_recursive(array &$array, callback $callback [, mixed $userdata = NULL]) : bool

其中:
- $array 是要遍历的数组,可以是关联数组或索引数组。
- $callback 是一个用户自定义的回调函数,用于对数组中的每个元素执行某个操作。
- $userdata 是一个可选的参数,用于传递给回调函数的额外数据。

array_walk_recursive() 函数会遍历数组 $array 中的每一个元素,如果该元素也是一个数组,则会递归地对该子数组中的元素进行处理。对于每一个元素,回调函数 $callback 都会被调用,并将该元素作为参数传递给回调函数。

以下是一个例子,说明了如何使用 array_walk_recursive() 函数:
php
<?php
function myfunction($value, $key)
{
echo "Key: $key, Value: $value\n";
}

$fruits = array(
"apple",
"banana",
"orange",
array("kiwi", "mango"),
);

array_walk_recursive($fruits, "myfunction");
?>


结果将输出:

Key: 0, Value: apple
Key: 1, Value: banana
Key: 2, Value: orange
Key: 0, Value: kiwi
Key: 1, Value: mango


在上面的例子中,myfunction() 函数被定义并传递给 array_walk_recursive() 函数作为回调函数。该函数用于打印出数组中每个元素的键和值。

请注意,在回调函数中,$key 参数表示当前元素的键(如果是关联数组),$value 参数表示当前元素的值。通过对每个元素应用回调函数,该函数可以对数组中的每个元素进行处理,无论是简单值还是嵌套的数组。

希望这样的解释和示例对您有所帮助!