WithCoderWithCoderWithCoder

PHP数组函数 array_walk_recursive (使用回调函数递归遍历数组元素)

    在PHP中,数组函数 array_walk_recursive () 使用回调函数递归遍历数组元素。

    函数语法:

array_walk_recursive ( array &$array , callable $callback [, mixed $userdata = NULL ] ) : bool

    函数参数说明:

参数描述
array必需。规定数组。
callback必需。一般情况下 callback 接受两个参数。array 参数的值作为第一个,键名作为第二个。
userdata可选。如果提供了可选参数 userdata,将被作为第三个参数传递给 callback funcname。

    array_walk_recursive () 函数使用用户自定义回调函数递归遍历数组元素。本函数会递归到更深层的数组中去。

    注意: 

        可以通过把用户自定义函数中的第一个参数指定为引用:&$value,来改变数组元素的值。

    举例1,回调函数递归遍历数组元素   

<?php

// 定义数组
$arr = array('a' => 'apple', 'b' => 'banana', 'c' => array('c1' => 'green orange', 'c2' => 'yello orange'));

// 数组递归调用自定义函数
array_walk_recursive($arr, function ($v, $k) {
    echo $v . '<br>';
});

    以上代码输出如下:

apple
banana
green orange
yello orange

   举例2,回调函数递归遍历数组元素,传递额外参数   

<?php

// 定义数组
$arr = array('a' => 'apple', 'b' => 'banana', 'c' => array('c1' => 'green orange', 'c2' => 'yello orange'));

// 数组递归调用自定义函数
array_walk_recursive($arr, function ($v, $k, $udata) {
    echo $udata . $v . '<br>';
}, 'I like ');

    以上代码输出如下:

I like apple
I like banana
I like green orange
I like yello orange



欢迎分享交流,转载请注明出处:WithCoder » PHP数组函数 array_walk_recursive (使用回调函数递归遍历数组元素)