美文网首页PHP程序员
PHP array_merge()与array_merge_re

PHP array_merge()与array_merge_re

作者: php转go | 来源:发表于2020-09-27 14:52 被阅读0次

    array_merge()与array_merge_recursive()都是把两个或者多个数组合并成一个数组

    1. 当合并的数组是索引时,直接合并成新的索引数组,这时array_merge()与array_merge_recursive()得到的结果是一致的
            $a1=array("1","2");
            $a2=array("3","4");
            $a3=array("5","6");
            print_r(array_merge($a1,$a2,$a3));
            print_r(array_merge_recursive($a1,$a2,$a3));
    #结果
    Array
    (
        [0] => 1
        [1] => 2
        [2] => 3
        [3] => 4
        [4] => 5
        [5] => 6
    )
    
    
    1. 当合并的数组不存在键相同时,所有数组的键值对都是合成的新数组的键值对,这时array_merge()与array_merge_recursive()得到的结果是一致的
    $a1=array('a'=>"1",'b'=>"2");
            $a2=array('c'=>"3",'d'=>"4");
            $a3=array('e'=>"5",'f'=>"6");
            print_r(array_merge($a1,$a2,$a3));
            print_r(array_merge_recursive($a1,$a2,$a3));
    #结果一致
    Array
    (
        [a] => 1
        [b] => 2
        [c] => 3
        [d] => 4
        [e] => 5
        [f] => 6
    )
    
    1. 当合并的数组存在键相同时,array_merge()会把最后的元素会覆盖其他元素,array_merge_recursive() 不会进行键名覆盖,而是将多个相同键名的值递归组成一个数组。
     $a1=array('a'=>"1",'b'=>"2");
            $a2=array('a'=>"3",'d'=>"4");
            $a3=array('a'=>"5",'f'=>"6");
            print_r(array_merge($a1,$a2,$a3));
            print_r(array_merge_recursive($a1,$a2,$a3));
    #结果
    Array
    (
        [a] => 5 #键相同,最后一个数组的值覆盖钱的
        [b] => 2
        [d] => 4
        [f] => 6
    )
    
    Array
    (
        [a] => Array #相同键的合并成一个数组
            (
                [0] => 1
                [1] => 3
                [2] => 5
            )
    
        [b] => 2
        [d] => 4
        [f] => 6
    )
    
    1. 向 array_merge()或者array_merge_recursive() 函数输入一个数组,且键名是整数,则该函数将返回带有整数键名的新数组,其键名以 0 开始进行重新索引
    $a1=array(1=>"1",3=>"2"); 
            print_r(array_merge($a1));
            print_r(array_merge_recursive($a1));
    #结果
    Array
    (
        [0] => 1 以0开始的索引数组
        [1] => 2
    )
    

    相关文章

      网友评论

        本文标题:PHP array_merge()与array_merge_re

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