手头上的项目本来已经开发完了,临时加了一个推广功能,需要给推广的企业做到列表置顶。本身作为商业项目我是很少分享里面的相关内容的,不过为了直观还是截了一个效果图。
其实给二维数组最前面添加一个或多个元素并不复杂,而且在官方手册中还有专门的函数。但是为什么还要写一下呢?主要是在应用过程中一些函数的形参引用往往会给开发者尤其是对PHP基础不熟练的人埋下深深的坑。
第一种方法就是万能遍历法——foreach()。
- <?php
- $arr1 = ['0'=>['name'=>zhangsan,'sex'=>1],
- '1'=>['name'=>lisi,'sex'=>0],
- '2'=>['name'=>wangwu,'sex'=>1]
- ];
- $array2 = ['0'=>['name'=>zhaoliu,'sex'=>1],
- '1'=>['name'=>xiaoqi,'sex'=>1]
- ];
- //把$arr2的元素追加到$arr1的最前面
- foreach($array2 as $key=>$value){
- array_unshift($arr1,$value);
- }
- //输出
- print_r($arr1);
第二种方法就是walk遍历。
- <?php
- $arr1 = ['0'=>['name'=>zhangsan,'sex'=>1],
- '1'=>['name'=>lisi,'sex'=>0],
- '2'=>['name'=>wangwu,'sex'=>1]
- ];
- $array2 = ['0'=>['name'=>zhaoliu,'sex'=>1],
- '1'=>['name'=>xiaoqi,'sex'=>1]
- ];
- //把$arr2的元素追加到$arr1的最前面
- array_walk($array2,function($item) use (&$arr1)){
- array_unshift($arr1,$item);
- }
- //输出
- print_r($arr1);
第一种方法是特别常规的写法就不说了,主要是第二种方法中注意use($arr1)时加了 一个“&”符号。不然的话是无法将$array2的值追加的$arr1的前面的。