php实现数组合并的几种方法介绍

黄舟
发布: 2017-11-14 15:11:24
原创
3520人浏览过

说到数组合并我们会下意识的会想到array_merge()这个函数,但是在我们的工作中,一个array_merge()函数是完完全全不够使用的,那么还有那些方法能实现数组合并呢?今天就带大家详细了解下php数组合并的方法!

我们通过一个实例给大家介绍:

$a = array('color'=>'red',5,6); 
$b = array('color'=>'blue','type'=>'fruit',6,7); 
$arr = array_merge($a,$b); 
var_dump($arr);
登录后复制

array (size=6)  'color' => string 'blue' (length=4)  0 => int 5
  1 => int 6
  'type' => string 'fruit' (length=5)  2 => int 6
  3 => int 7
登录后复制

要求是在不使用array_merge()的情况的得到相同的效果;
(array_merge()合并数组会把前一个数组中关联形式数组的键值相同的覆盖,索引形式的则按键值顺序合并在一起)

1.先用array_merge_recursive()函数来合并一下:

$a = array('color'=>'red',5,6);
$b = array('color'=>'blue','type'=>'fruit',6,7);
$arr = array_merge_recursive($a,$b);
var_dump($arr);

输出结果:array (size=6)  
'color' => 
    array (size=2)      
    0 => string 'red' (length=3)      
    1 => string 'blue' (length=4)  
    0 => int 5
  1 => int 6
  'type' => string 'fruit' (length=5)  
  2 => int 6
  3 => int 7
登录后复制

从结果可以看出array_merge_recursive()函数会把键值相同的值以一个新的关联数组的形式返回,并以这个键值作为二维数组的键值,其他索引形式则不会受影响。
比起array_merge()的话就不会出现后面的数组键和前一个相同就把前一个的值覆盖的情况了。

2.再看下‘+’号合并数组的情况:

$a = array('color'=>'red',5,6);$b = array('color'=>'blue','type'=>'fruit',6,7);$arr = $a+$b;
var_dump($arr);

输出结果:
array (size=4)  'color' => string 'red' (length=3)  0 => int 5
  1 => int 6
  'type' => string 'fruit' (length=5)
登录后复制

从这个结果可以看出,使用‘+’号合并数组,是前面覆盖后面的,和array_merge()相反,而且它比array_merge()更狠,如果以索引形式出现的数组的内容,合并后如果键值相同也会覆盖掉!

立即学习PHP免费学习笔记(深入)”;

总结:

看完本文相信有很多学生都是恍然大悟,数组合并不单单是一种,小伙伴可以根据自己的实战项目选择合适的php数组合并方法!

相关推荐:

php数组合并且去重的示例


php数组合并array_merge()函数使用注意事项


php数组合并的二种方法

以上就是php实现数组合并的几种方法介绍的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号