PHP array_walk_recursive函数

PHP array_walk_recursive函数教程

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

array_walk_recursive函数详解

语法

array_walk_recursive(array,myfunction,parameter...);

参数

参数 描述
array 必需。规定数组。
myfunction 必需。用户自定义函数的名称。
parameter,… 可选。规定用户自定义函数的参数。您能够向此函数传递任意多参数。

返回值

如果成功则返回 TRUE,否则返回 FALSE。

说明

与 array_walk() 函数 类似,array_walk_recursive() 函数对数组中的每个元素应用回调函数。不一样的是,如果原数组中的元素也是数组,就会递归地调用回调函数,也就是说,会递归到更深层的数组中去。

典型情况下,myfunction 接受两个参数。array 参数的值作为第一个,键名作为第二个。如果提供了可选参数 parameter ,将被作为第三个参数传递给回调函数。

如果回调函数需要直接作用于数组中的值,可以将回调函数的第一个参数指定为引用,这样对这些单元的任何改变也将会改变原始数组本身。

案例

array_walk_recursive遍历数组

使用 array_walk_recursive() 函数,遍历数组元素

<?php echo "嗨客网(www.haicoder.net)<br>"; function myfunction($value,$key) { echo "$key => $value <br>"; } $arr = array("name"=>"haicoder", "url"=>"www.haicoder.net"); $arr2 = array($arr, "isonline"=>true, "age"=>109); array_walk_recursive($arr2, "myfunction");

程序运行后,控制台输出如下:

50_PHP array_walk_recursive函数详解.png

我们使用了 array_walk_recursive 函数,遍历了数组的所有元素,并对每一个元素调用了 myfunction 函数,同时,我们可以看到,数组里面嵌套的数组,一样可以被遍历。

PHP array_walk_recursive函数总结

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