PHP 的 array_walk_recursive() 函数

array_walk_recursive() 函数对数组中的每个元素应用用户自定义函数。在函数中,数组的键名和键值是参数。
该函数与 array_walk() 函数的不同在于可以操作更深的数组(一个数组中包含另一个数组)。

语法
:
array_walk_recursive(array,myfunction,parameter...)
参数描述
array必需。规定数组。
myfunction必需。用户自定义函数的名称。
userdata,…可选。规定用户自定义函数的参数。您能够向此函数传递任意多参数。
返回值:如果成功则返回 TRUE,否则返回 FALSE。
PHP 版本:5+

说明
与 array_walk() 函数 类似,array_walk_recursive() 函数对数组中的每个元素应用回调函数。不一样的是,如果原数组中的元素也是数组,就会递归地调用回调函数,也就是说,会递归到更深层的数组中去。
典型情况下,myfunction 接受两个参数。array 参数的值作为第一个,键名作为第二个。如果提供了可选参数 userdata ,将被作为第三个参数传递给回调函数。
如果回调函数需要直接作用于数组中的值,可以将回调函数的第一个参数指定为引用,这样对这些单元的任何改变也将会改变原始数组本身。

示例:
<?php
function myfunction($value,$key)
{
echo "键 $key 的值是 $value 。<br>";
}
$a1=array("a"=>"red","b"=>"green");
$a2=array($a1,"1"=>"blue","2"=>"yellow");
array_walk_recursive($a2,"myfunction");
?>

输出结果:
键 a 的值是 red 。
键 b 的值是 green 。
键 1 的值是 blue 。
键 2 的值是 yellow 。

如果你发现错误或有其他见解,请给 www.zhuei.cn 留言,我们会尽快更新本文!

发表评论

邮箱地址不会被公开。 必填项已用*标注