美文网首页
合并数组 array_merge和+对数组操作的区别

合并数组 array_merge和+对数组操作的区别

作者: lyhwbt | 来源:发表于2018-08-13 16:44 被阅读0次

    1.在数组的键值为数字形式时:
    array_merge不会对数据产生覆盖,重新进行索引;
    ‘+’在后面的数组中与前面数组的键相同时,舍弃后面的数组。

    <?php
        $arrone = array('qwer', 'qaz');
        $arrtwo = array('qwerqwer', 'qazqaz');
        $arrtwo2 = array('qwerqwer', 5=>'qazqaz');
    
        var_dump(array_merge($arrone, $arrtwo));
        //array(0=>string 'qwer', 1=>string 'qaz', 2=>string 'qwerqwer', 3=>string 'qazqaz')
    
        var_dump(array_merge($arrone, $arrtwo2));
        //array(0=>string 'qwer', 1=>string 'qaz', 2=>string 'qwerqwer', 3=>string 'qazqaz')
    
        var_dump($arrone + $arrtwo);
        //array(0=>string 'qwer', 1=>string 'qaz')
    
        var_dump($arrone + $arrtwo2);
        //array(0=>string 'qwer', 1=>string 'qaz', 5=>string 'qazqaz')
    

    2.在数组的键值为字符串形式时:
    array_merge会对数据产生覆盖;
    ‘+’在后面的数组中与前面数组的键相同时,舍弃后面的数组。

    <?php
        $arrone = array('qwer'=>'qwer', 'qaz'=>'qaz');
        $arrtwo = array('qwer'=>'qwerqwer', 'qaz'=>'qazqaz');
    
        var_dump(array_merge($arrone, $arrtwo));
        //array('qwer'=>string 'qwerqwer', 'qaz'=>string 'qazqaz')
    
        var_dump($arrone + $arrtwo);
        //array('qwer'=>string 'qwer', 'qaz'=>string 'qaz')
    

    相关文章

      网友评论

          本文标题:合并数组 array_merge和+对数组操作的区别

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