PHP:二维数组头部追加元素的两种方法

二维数组头部追加元素的两种方法

手头上的项目本来已经开发完了,临时加了一个推广功能,需要给推广的企业做到列表置顶。本身作为商业项目我是很少分享里面的相关内容的,不过为了直观还是截了一个效果图。

二维数组头部追加元素的两种方法

 

其实给二维数组最前面添加一个或多个元素并不复杂,而且在官方手册中还有专门的函数。但是为什么还要写一下呢?主要是在应用过程中一些函数的形参引用往往会给开发者尤其是对PHP基础不熟练的人埋下深深的坑。

第一种方法就是万能遍历法——foreach()。

  1. <?php
  2.     $arr1 = ['0'=>['name'=>zhangsan,'sex'=>1],
  3.                   '1'=>['name'=>lisi,'sex'=>0],
  4.                   '2'=>['name'=>wangwu,'sex'=>1]
  5.                  ];
  6.     $array2 = ['0'=>['name'=>zhaoliu,'sex'=>1],
  7.                  '1'=>['name'=>xiaoqi,'sex'=>1]
  8.                 ];
  9. //把$arr2的元素追加到$arr1的最前面
  10. foreach($array2 as $key=>$value){
  11.     array_unshift($arr1,$value);
  12. }
  13. //输出
  14. print_r($arr1);

第二种方法就是walk遍历。

  1. <?php
  2.     $arr1 = ['0'=>['name'=>zhangsan,'sex'=>1],
  3.                   '1'=>['name'=>lisi,'sex'=>0],
  4.                   '2'=>['name'=>wangwu,'sex'=>1]
  5.                  ];
  6.     $array2 = ['0'=>['name'=>zhaoliu,'sex'=>1],
  7.                  '1'=>['name'=>xiaoqi,'sex'=>1]
  8.                 ];
  9. //把$arr2的元素追加到$arr1的最前面
  10. array_walk($array2,function($itemuse (&$arr1)){
  11.     array_unshift($arr1,$item);
  12. }
  13. //输出
  14. print_r($arr1);

第一种方法是特别常规的写法就不说了,主要是第二种方法中注意use($arr1)时加了 一个“&”符号。不然的话是无法将$array2的值追加的$arr1的前面的。

波波

发表评论

您必须 登录 才能发表留言!