array_walk() Function
array_walk()函数是PHP中的一个内置函数。函数的作用是:无论指针位置如何,array_walk()遍历整个数组,并对数组中的每个元素应用回调函数或用户定义函数。数组元素的键和值是回调函数中的参数。
语法
1 | boolean array_walk($array, myFunction, $extraParam) |
参数:该函数接受以下三个参数:
- $array:这是一个强制参数,指定输入数组。
- myFunction:这个参数指定用户定义的函数的名称,也是必须的。用户定义的函数通常不包括两个参数,第一个参数表示数组的值,第二个参数表示相应的键。
- $extraparam:这是一个可选参数。除了数组键和值这两个参数外,它还为用户定义的函数指定一个额外的参数。
返回值:这个函数返回一个布尔值。成功返回TRUE,失败返回FALSE。
下面的程序演示了array_walk()函数:
程序1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php // PHP program to illustrate array_walk() // function // user-defined callback function function myfunction($value, $key) { echo "The key $key has the value $value \n"; } // Input array $arr = array("a"=>"yellow", "b"=>"pink", "c"=>"purple"); // calling array_walk() with no extra parameter array_walk($arr, "myfunction"); ?> |
输出
1 2 3 | The key a has the value yellow The key b has the value pink The key c has the value purple |
程序2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php // PHP program to illustrate array_walk() // function // user-defined callback function function myfunction($value, $key, $extraParam) { echo "The key $key $extraParam $value \n"; } // Input array $arr = array("a"=>"yellow", "b"=>"pink", "c"=>"purple"); // calling array_walk() with extra parameter array_walk($arr, "myfunction", "has the value"); ?> |
输出
1 2 3 | The key a has the value yellow The key b has the value pink The key c has the value purple |
程序3
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | <?php // PHP program to illustrate array_walk() // function // user-defined callback function to // update array values - to update array // values, pass the first parameter by reference function myfunction(&$value, $key) { $value = $value + 10; } // Input array $arr = array("first"=>10, "second"=>20, "third"=>30); // calling array_walk() with no extra parameter array_walk($arr, "myfunction"); // printing array after updating values print_r($arr); ?> |
输出
1 2 3 4 5 6 | Array ( [first] => 20 [second] => 30 [third] => 40 ) |
参考
http://php.net/manual/en/function.array-walk.php