数组 函数
PHP Manual

array_walk_recursive

(PHP 5)

array_walk_recursive对数组中的每个成员递归地应用用户函数

说明

bool array_walk_recursive ( array &$input , callback $funcname [, mixed $userdata ] )

将用户自定义函数 funcname 应用到 array 数组中的每个单元。本函数会递归到更深层的数组中去。典型情况下 funcname 接受两个参数。input 参数的值作为第一个,键名作为第二个。如果提供了可选参数 userdata,将被作为第三个参数传递给 callback funcname

成功时返回 TRUE, 或者在失败时返回 FALSE.

Note:

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

Example #1 array_walk_recursive() 例子

<?php
$sweet 
= array('a' => 'apple''b' => 'banana');
$fruits = array('sweet' => $sweet'sour' => 'lemon');

function 
test_print($item$key)
{
    echo 
"$key holds $item\n";
}

array_walk_recursive($fruits'test_print');
?>

以上例程会输出:

a holds apple
b holds banana
sour holds lemon

注意上例中的键 'sweet' 并没有显示出来。任何其值为数组的键都不会被传递到回调函数中去。

参见 array_walk()callback 类型的信息。

参数

input

The input array.

funcname

Typically, funcname takes on two parameters. The input parameter's value being the first, and the key/index second.

Note:

If funcname needs to be working with the actual values of the array, specify the first parameter of funcname as a reference. Then, any changes made to those elements will be made in the original array itself.

userdata

If the optional userdata parameter is supplied, it will be passed as the third parameter to the callback funcname.

返回值

成功时返回 TRUE, 或者在失败时返回 FALSE.

范例

Example #2 array_walk_recursive() example

<?php
$sweet 
= array('a' => 'apple''b' => 'banana');
$fruits = array('sweet' => $sweet'sour' => 'lemon');

function 
test_print($item$key)
{
    echo 
"$key holds $item\n";
}

array_walk_recursive($fruits'test_print');
?>

以上例程会输出:

a holds apple
b holds banana
sour holds lemon

You may notice that the key 'sweet' is never displayed. Any key that holds an array will not be passed to the function.

参见


数组 函数
PHP Manual