php 中,如果需要对数组中的每个元素进行一定规则的处理,我们可以使用 array_walk_recursive,array_walk_recursive 函数用于对数组中的每个成员递归地应用用户函数。本文章通过实例向大家讲解 array_walk_recursive 函数的使用方法
array_walk_recursive 对数组中的每个成员递归地应用用户函数
基本语法
bool array_walk_recursive ( array &$input , callable $funcname [, mixed $userdata = NULL ] )
将用户自定义函数 funcname 应用到 array 数组中的每个单元。本函数会递归到更深层的数组中去。在 funcname 函数中,数组的键名和键值是该函数的参数。
参数介绍:
参数 | 描述 |
input | 必需。输入的数组。 |
funcname | 必需。用户自定义函数的名称。典型情况下 funcname 接受两个参数。input 参数的值作为第一个,键名作为第二个。 |
userdata | 可选。如果提供了可选参数 userdata,将被作为第三个参数传递给 callback funcname。 |
Note: 如果 funcname 需要直接作用于数组中的值,则给 funcname 的第一个参数指定为引用。这样任何对这些单元的改变也将会改变原始数组本身。
返回值:
成功时返回 TRUE,或者在失败时返回 FALSE 。
实例:
<?php
$sweet = array(
'a' => 'apple',
'b' => 'banana'
);
$fruits = array(
'sweet' => $sweet,
'sour' => 'lemon'
);
function test_print($item, $key) {
echo " $key holds $item <br/>";
}
array_walk_recursive($fruits, 'test_print');
print_r($fruits);
?>