发布时间:2020/06/08 作者:天马行空 阅读(1027)
日常开发中经常会碰到数组合并,常用两种方式:直接将两个数组相加或者使用array_merge函数。
那么这两种方式有什么区别呢?
当键为数字时:
<?php $a = [0=>'aaa',1=>'bbb',2=>'ccc']; $b = [0=>'aaa1',1=>'bbb1',2=>'ccc1']; echo '<pre>'; print_r(array_merge($a,$b)); print_r($a+$b); echo '</pre>'; exit; ?>
返回结果:
当键为字符时:
<?php $a = ['a'=>'aaa','b'=>'bbb','c'=>'ccc']; $b = ['a'=>'aaa1','b'=>'bbb1','c'=>'ccc1']; echo '<pre>'; print_r(array_merge($a,$b)); print_r($a+$b); echo '</pre>'; exit; ?>
返回结果:
由此,我们可以得出结果
两个数组相加的方式:
只要键名冲突就保留最先出现的。
使用array_merge方式:
键是字符键名冲突时,后面的数组覆盖前面的;
键是数字键名冲突时,不会覆盖,索引递增,值保留。