PHP 使用 array_map 替代 foreach
讲个 PHP 的骚操作。论如何实现:把二维数组内某二维元素的值,单独提出来组成一维数组。 0x00 传统操作
$pieces = []; foreach($whole as $item) { $pieces[] = $item['foo']; } return $pieces;
0x01 骚操作
return array_map( function ($item) { return $item['foo']; }, $whole ); 省掉两个变量($pieces、$item),对于业务逻辑比较复杂的位置,省一个变量说不定就少死十个脑细胞… PHP 内,函数内部变量没有作用域之分,只有出函数后才会销毁。所以 $item 在匿名函数内是外部无法访问的。 0x02 拓展
array_map 其实还有不少用途,需要遍历数组每个元素的「值」的时候,都可以派上用场。 但需要遍历 Key => Value 形式的关联数组,该怎么操作呢? return array_map( function callback($k, $v) { ... }, array_keys($array), $array ); 搞定。
QQ:1542385235 (PHP、Java、安卓苹果app制作修改、页面切图、各类模板修改、仿站,数据库修复、WAP制作修改 。我们团队是专门做网站开发的,都是有3年以上工作经验。需要后台系统开发,网页页面制作,app制作,ui设计的请加我qq联系。非诚勿扰!!)
本人qq群也有许多的技术文档,希望可以为你提供一些帮助(非技术的勿加!)。
QQ群: 281442983 (点击链接加入群:http://jq.qq.com/?_wv=1027&k=29LoD19)