php数组合并

##数组合并的方法 三种

PHP中,有3种方法来进行数组合并:操作符(+)、array_merge、array_merge_recursive,其中前两种方式为一维数组的合并,第三种为递归合并。

索引数组和关联数组 

在说PHP的数组合并之前,先要明白,PHP的数组分为索引数组和关联数组。
索引数组是指没有键值和键值为数字的数组,关联数组是指键值为字符的数组

#+和array_merge区别

索引数组:

<?php 

function dd($arr){

	echo '<pre/>';
	print_r($arr);
}
$a = array(
    'a',
);
$b = array(
    'u',
);
$c = $a + $b;

$d=array_merge($a,$b);
dd($c);

Array
(
    [0] => a
)

dd($d);
 Array
(
    [0] => a
    [1] => u
)

+号: 合并相同键值的数组,操作符以最前面的值为合并后的结果

array_merge:把相同键值的数组合并,并重新索引(不同键值的数组合并时,也会从0开始重新生成数字索引 (重新生成数字索引索引)

##+”运算符

+”运算符
规则:
  当两个数组的键名是数字键名或者字符串键名
  $c = $a + $b
  在$a后追加($b在$a中不存在的键名)键名和值
注意:
  1、不覆盖,只是追加不存在的键名和对应的值
  2、键名不重新索引
  3、无论是全部数字键名还是混合,都只是追加键名和值,
        如果键名相同则不进行追加,即把最先出现的值作为最终结果返回

当为关联数组时,合并相同字符键值的数组,+操作符合并规则是前面的覆盖后面的,array_merge则是后面的覆盖前面的。

array_merge() 将一个或多个PHP数组合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。 如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。 如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引

.array_merge_recursive的合并规则和array_merge相同,只是array_merge_recursive支持多维数组的合并

转载于:https://my.oschina.net/2016jyh/blog/824284

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值