PHP 数组相加和array_merge的区别

PHP数组处理强大的功能导致了各种数据处理函数。

其中数组相加以及array_merge让笔者踩了个小坑。

一、请看demo1:

        public function action_test54(){
                $a = array(
                        '0'=>1567,
                        '1'=>1568,
                        '2'=>1569,
                        '3'=>1570,
                );
                $b = array(
                        '1'=>1571,
                        '2'=>1572,
                        '3'=>1573,
                        '4'=>1574
                );
                d($a + $b);
                dd(array_merge($a,$b));

        }

demo1输出:

array(5) (
    0 => integer 1567
    1 => integer 1568
    2 => integer 1569
    3 => integer 1570
    4 => integer 1574
)
array(8) (
    0 => integer 1567
    1 => integer 1568
    2 => integer 1569
    3 => integer 1570
    4 => integer 1571
    5 => integer 1572
    6 => integer 1573
    7 => integer 1574
)

结论:

$a + $b  增量覆盖

array_merge($a,$b) 合并


二、Demo2

        public function action_test54(){
                $a = array(
                        'a'=>1567,
                        'b'=>1568,
                        'c'=>1569,
                        'd'=>1570,
                );
                $b = array(
                        'b'=>1571,
                        'c'=>1572,
                        'd'=>1573,
                        'e'=>1574
                );
                d($a + $b);
                dd(array_merge($a,$b));

        }

Demo2输出:

array(5) (
    "a" => integer 1567
    "b" => integer 1568
    "c" => integer 1569
    "d" => integer 1570
    "e" => integer 1574
)
array(5) (
    "a" => integer 1567
    "b" => integer 1571
    "c" => integer 1572
    "d" => integer 1573
    "e" => integer 1574
)

结论:

$a + $b 增量覆盖

array_merger($a,$b) $b优先替换掉$a




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值