• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

PHP数组合并的常见问题

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
一维数组的合并
<?php
  $arr1=array("a","b","c");
  $arr2=array("c","d","e");

  $myarray=array_merge($arr1,$arr2);
  print_r($myarray);

  $myarray=array_unique($myarray);

  print_r($myarray);
?> 
 二维数组的合并 PHP 中的 array_merge_recursive() 函数可以实现 将一个或多个数组的元素的合并起来,一个数组中的值附加在前一个数组的后面。并返回作为结果的数组。 当有重复的键名时,值不会被覆盖,而是将多个相同键名的值递归组成一个数组。
array_merge_recursive(array1,array2,array3...)

参数说明 array1 必需。输入的第一个数组。 array2 必需。输入的第二个数组。 array3 可选。可指定的多个输入数组。 例如:
<?php
  $a1=array("a"=>"Horse","b"=>"Dog");
  $a2=array("c"=>"Cow","b"=>"Cat");
  print_r(array_merge_recursive($a1,$a2));
?> 

输出:
Array ( 
  [a] => Horse 
  [b] => Array ( 
    [0] => Dog 
    [1] => Cat ) 
  [c] => Cow 
) 
注:array_merge() 函数也可以实现,与 array_merge_recursive()函数不同是,如果键名有重复,该键的键值为最后一个键名对应的值(后面的覆盖前面的)。如果数组是数字索引的,则键名会以连续方式重新索引。

把一个二维数组合并成一个一位数组

<?php 
$arr = array(
  '0' => array('1','2'),
  '1' => array('2','3'),
  '2' => array('3','4'),
  '3' => array('4','5'),
  '4' => array('5','6'),
);
?>
得到一个$new_arr = array('1','2','2','3','3','4','4','5','5','6');

//方法一:
$res = array();
array_walk($arr,function($item,$key) use (&$res){
  $res = array_merhe($res,$item);
});
var_dump($res);
//方法二:
$res = array();
foreach($arr as $item){
  $res = array_merge($res,$item);
}
var_dump($res);
//方法三:
$res = array();
array_walk_reursive($arr,function($item,$key) use (&$res){
  $res[] = $item;
});
var_dump($res);

 三种方法从消耗时间比较:

  方法一消耗时间最长

  方法三消耗时间最短

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
php常用过滤数据方法发布时间:2022-07-10
下一篇:
PhpStorm(强大的PHP开发环境)2017.3.2附注册方法发布时间:2022-07-10
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap