array_map

PHP用foreach来表达array_walk/array_filter/array_map/array_reduce

久未见 提交于 2019-12-09 17:32:14
PHP装逼玩函数式(回调匿名函数): array_walk/array_filter/array_map/array_reduce: 遍历数组,回调函数.遍历一次,回调一次. 这些逻辑其实都可以用foreach来表达,而且更容易理解. array_walk 相当于foreach: $arr = ['Client'=>'jQuery','Server'=>'PHP']; array_walk($arr, function($v, $k) { echo "键:$k 值:$v\n"; }); 比如去除数组$arr元素的前后空白: array_walk($arr, function(&$v) { $v = trim($v); }); foreach($arr as &$v) { $v = trim($v); } array_filter : 用回调函数过滤数组中的单元,返回过滤后的数组 var_export( array_filter([1, 2, 3], function($v) { return $v > 1; }) ); 和 foreach([1, 2, 3] as $k => $v) { if($v > 1) { $tmp[$k] = $v; } } var_export($tmp); 都输出: array ( 1 => 2, 2 => 3, ) PHP数组映射化简