array_map, array_walk, array_filter的区别及使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| <?php
$arr = [1, 2, 3, 4];
function foo($value) { return $value * $value; } function filter($value) { return $value > 2; } function walk(&$value) { $value = $value * $value; }
$new_arr = array_map('foo', $arr); echo '原数组:'.var_export($arr, 1)."\n", 'array_map修改后的数组:'.var_export($new_arr, 1)."\n"."<hr/>";
$res = array_walk($arr, 'walk'); echo '修改后的数组:'.var_export($arr, 1)."\n", 'array_walk返回结果:'.var_export($res, 1)."\n"."<hr/>";
$new_arr = array_filter($arr, 'filter'); echo '原数组:'.var_export($arr, 1)."\n", 'array_filter返回结果:'.var_export($new_arr, 1)."\n"."<hr/>";
|