• 技术文章 >后端开发 >php教程

    PHP数组合并中+运算符和array_merge()之间有什么区别?

    青灯夜游青灯夜游2019-04-03 14:06:03原创1114
    在PHP中,可以通过使用(+)运算符或array_merge()函数来合并数组;但这两种方法有细微的差别。下面本篇文章就来带大家了解一下这两种方法的区别,希望对大家有所帮助。

    使用array_merge()函数合并数组

    array_merge()函数是一个内置函数,可以用于连接一个或多个作为输入提供的数组,而不管它们的类型;并返回一个新数组。在此合并过程中,数组的值将附加到前一个数组的末尾,以生成结果数组。

    语法:

    array_merge( $arr1, $arr2, $arr3... )

    参数: array_merge()函数接受一个或多个输入数组,并将它们合并为单个结果数组。

    注意:在array_merge()函数中,如果输入数组具有相同的字符串键,则在结果数组中,该键的后一个值将覆盖前一个值。但是,如果数组包含数字键,那么值将不会被替换,它们只会附加到结果数组中。同样,在数字数组的情况下,结果数组中的键值将从零开始重新编号。

    使用+运算符合并数组

    合并两个数组的另一种方法就是通过使用“数组+数组”的方法。+运算符是一个二元运算符,意味着它一次只能合并两个数组;在此合并过程中,会将右侧数组追加到左手数组的末尾。

    语法

    $arr3 = $arr1 + $arr2

    参数:(+)运算符一次处理两个数组并生成结果数组。

    注意:如果使用(+)运算符合并数组,如果两个数组中有相同的键(无论是字符串键,还是数字键),则结果数组只会保留与键对应的左侧数组中的值,右侧数组的值将被忽略。

    +运算符和array_merge()的区别

    下面通过代码示例来看看+运算符和array_merge()之间的区别。

    示例1:使用array_merge()合并数组

    <?php 
    header("content-type:text/html;charset=utf-8");
    $arr1 = array( 'zero' => 0, 
                   'one' => 1, 
                   'two' => 2, 10, 11, 12, 13 
            ); 
              
    $arr2 = array( 'one' => 11, 
                   'three' => 3, 
                   'four' => 4, 12, 13, 14, 15 
            ); 
      
    $arr3 = array_merge($arr1, $arr2); 
          
    echo "使用array_merge()合并数组的结果:<br>"; 
    var_dump($arr3);  
    ?>

    输出:

    使用array_merge()合并数组的结果:
    array (size=13)
      'zero' => int 0
      'one' => int 11
      'two' => int 2
      0 => int 10
      1 => int 11
      2 => int 12
      3 => int 13
      'three' => int 3
      'four' => int 4
      4 => int 12
      5 => int 13
      6 => int 14
      7 => int 15

    示例2:使用(+)运算符合并数组

    <?php 
    header("content-type:text/html;charset=utf-8");
    $arr1 = array( 'zero' => 0, 
                   'one' => 1, 
                   'two' => 2, 10, 11, 12, 13 
            ); 
              
    $arr2 = array( 'one' => 11, 
                   'three' => 3, 
                   'four' => 4, 12, 13, 14, 15 
            );      
    $arr4 = $arr1 + $arr2; 
          
    echo "<br>使用(+)运算符合并数组的结果:<br>"; 
    var_dump($arr4); 
    ?>

    输出:

    使用(+)运算符合并数组的结果:
    array (size=9)
      'zero' => int 0
      'one' => int 1
      'two' => int 2
      0 => int 10
      1 => int 11
      2 => int 12
      3 => int 13
      'three' => int 3
      'four' => int 4

    相关视频教程推荐:《PHP教程

    以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。更多精彩内容大家可以关注php中文网相关教程栏目!!!

    以上就是PHP数组合并中+运算符和array_merge()之间有什么区别?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文原创发布php中文网,转载请注明出处,感谢您的尊重!如有疑问,请联系admin@php.cn处理
    上一篇:PHP计算地球上两点之间的距离(示例详解) 下一篇:如何在CentOS和RHEL上安装PHP7
    大前端线上培训班

    相关文章推荐

    • array_merge函数的注意事项• PHP数组相加操作及与array_merge的区别• php array_merge_recursive 数组合并• .net和php哪个好?.net和php的简单比较

    全部评论我要评论

  • M.fiver

    你这个不对的吧

    2019-04-10

  • 取消发布评论发送
  • 1/1

    PHP中文网