美文网首页
PHP合并数组 + 和 array_merge() 的区别

PHP合并数组 + 和 array_merge() 的区别

作者: imjcw | 来源:发表于2018-11-06 15:11 被阅读0次

    同为数组合并,+array_merge() 但是还是有差别的:

    键名为数字时,array_merge() 不会覆盖掉原来的值,但 合并数组则会把最先出现的值作为最终结果返回,而把后面的数组拥有相同键名的那些值抛弃掉(不是覆盖)

    $a = array('a','b'); 
    $b = array('c', 'd'); 
    $c = $a + $b; 
    var_dump($c);
    // 输出:
    // array (size=2)
    //    0 => string 'a' (length=1)
    //    1 => string 'b' (length=1) 
    
    var_dump(array_merge($a, $b));
    // 输出:
    // array (size=4)
    //    0 => string 'a' (length=1)
    //    1 => string 'b' (length=1)
    //    2 => string 'c' (length=1)
    //    3 => string 'd' (length=1) 
    

    键名为字符时, 仍然把最先出现的键名的值作为最终结果返回,而把后面的数组拥有相同键名的那些值抛弃掉,但 array_merge() 此时会覆盖掉前面相同键名的值

    $a = array('a' => 'a' ,'b' => 'b');
    $b = array('a' => 'A', 'b' => 'B');
    $c = $a + $b;
    var_dump($c);
    //输出:
    // array (size=2)
    //    'a' => string 'a' (length=1)
    //    'b' => string 'b' (length=1)
    
    var_dump(array_merge($a, $b));
    // 输出:
    // array (size=2)
    //    'a' => string 'A' (length=1)
    //    'b' => string 'B' (length=1)
    

    相关文章

      网友评论

          本文标题:PHP合并数组 + 和 array_merge() 的区别

          本文链接:https://www.haomeiwen.com/subject/qgjuxqtx.html