array_merge与函数运算符“+”加号的区别

作者Veris 文章分类 分类:PHP 文章评论 0条评论 阅读次数 已被围观 1991
1. array_merge在参考手册中的说明如下:
array_merge()将两个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。

2. 对于使用“+”合并数组:
如果数组中有相同的key,则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值“抛弃”掉(注意:不是覆盖而是保留最先出现的那个值)。
<?php
$a1 = array(1 => "first", "2" => "second", 3 => "third");
$a2 = array(2 => "second value", 3 => "3rd");
print_r($a1 + $a2);
print_r(array_merge($a1, $a2));
猜猜结果是啥
Array
(
    [1] => first
    [2] => second
    [3] => third
)
Array
(
    [0] => first
    [1] => second
    [2] => third
    [3] => second value
    [4] => 3rd
)
分类:PHP
标签: array_merge +

发表评论: