array_walk_recursive() Function
array_walk_recursive()函数是PHP中的一个内建函数。函数的作用是:不管指针位置如何,遍历整个数组,并递归地将回调函数或用户定义函数应用于数组的每个元素。数组元素的键和值是回调函数中的参数。这个函数与array_walk()函数的区别在于,它将递归到更深的数组中(数组中的数组)。
语法
1 | boolean array_walk_recursive($array, myFunction, $extraParam) |
参数:该函数接受以下三个参数:
- $array:这是一个强制参数,指定输入数组。
- myFunction:这个参数指定用户定义的函数的名称,也是必须的。用户定义的函数通常不包括两个参数,第一个参数表示数组的值,第二个参数表示相应的键。
- $extraparam:这是一个可选参数。除了数组键和值这两个参数外,它还为用户定义的函数指定一个额外的参数。
返回值:这个函数返回一个布尔值。成功返回TRUE,失败返回FALSE。
下面的程序演示了array_walk_recursive()函数:
程序1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?php // PHP program to illustrate // array_walk_recursive() function // user-defined callback function function myFunction($value, $key) { echo "The key $key has the value $value \n"; } // Input arrays $arr1=array("x"=>"india", "y"=>"Pakistan"); $arr2=array($arr1, "1"=>"China", "2"=>"Japan"); // calling array_walk_recursive() without // extra parameter array_walk_recursive($arr2, "myFunction"); ?> |
输出
1 2 3 4 | The key x has the value india The key y has the value Pakistan The key 1 has the value China The key 2 has the value Japan |
程序2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | <?php // PHP program to illustrate // array_walk_recursive() function // user-defined callback function // with extra parameter function myFunction($value, $key , $extraParam) { echo "The key $key $extraParam $value \n"; } // Input arrays $arr1=array("x"=>"india", "y"=>"Pakistan"); $arr2=array($arr1, "1"=>"China", "2"=>"Japan"); // calling array_walk_recursive() with // extra parameter array_walk_recursive($arr2, "myFunction", "has the value"); ?> |
输出
1 2 3 4 | The key x has the value india The key y has the value Pakistan The key 1 has the value China The key 2 has the value Japan |
参考