当前位置:首页 > PHP教程 > php数组 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2020-02-11 20:54:40 浏览: 评论:0 

在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()合并数组

  1. <?php  
  2.  
  3. header("content-type:text/html;charset=utf-8"); 
  4.  
  5. $arr1 = array'zero' => 0,  
  6.  
  7.                'one' => 1,  
  8.  
  9.                'two' => 2, 10, 11, 12, 13  
  10.  
  11.         );  
  12.  
  13.             
  14.  
  15. $arr2 = array'one' => 11,  
  16.  
  17.                'three' => 3,  
  18.  
  19.                'four' => 4, 12, 13, 14, 15  
  20.  
  21.         );  
  22.  
  23.     
  24.  
  25. $arr3 = array_merge($arr1$arr2);  
  26.  
  27. //phpfensi.com 
  28.  
  29. echo "使用array_merge()合并数组的结果:<br>";  
  30.  
  31. var_dump($arr3);   
  32.  
  33. ?> 

输出:

  1. 使用array_merge()合并数组的结果: 
  2. array (size=13) 
  3.  
  4.   'zero' => int 0 
  5.  
  6.   'one' => int 11 
  7.  
  8.   'two' => int 2 
  9.  
  10.   0 => int 10 
  11.  
  12.   1 => int 11 
  13.  
  14.   2 => int 12 
  15.  
  16.   3 => int 13 
  17.  
  18.   'three' => int 3 
  19.  
  20.   'four' => int 4 
  21.  
  22.   4 => int 12 
  23.  
  24.   5 => int 13 
  25.  
  26.   6 => int 14 
  27.  
  28.   7 => int 15 

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

  1. <?php  
  2.  
  3. header("content-type:text/html;charset=utf-8"); 
  4.  
  5. $arr1 = array'zero' => 0,  
  6.  
  7.                'one' => 1,  
  8.  
  9.                'two' => 2, 10, 11, 12, 13  
  10.  
  11.         );  
  12.  
  13.             
  14.  
  15. $arr2 = array'one' => 11,  
  16.  
  17.                'three' => 3,  
  18.  
  19.                'four' => 4, 12, 13, 14, 15  
  20.  
  21.         );       
  22.  
  23. $arr4 = $arr1 + $arr2;  
  24.  
  25.         
  26.  
  27. echo "<br>使用(+)运算符合并数组的结果:<br>";  
  28.  
  29. var_dump($arr4);  
  30.  
  31. ?> 

输出:

  1. 使用(+)运算符合并数组的结果: 
  2.  
  3.  
  4. array (size=9) 
  5.  
  6.   'zero' => int 0 
  7.  
  8.   'one' => int 1 
  9.  
  10.   'two' => int 2 
  11.  
  12.   0 => int 10 
  13.  
  14.   1 => int 11 
  15.  
  16.   2 => int 12 
  17.  
  18.   3 => int 13 
  19.  
  20.   'three' => int 3 
  21.  
  22.   'four' => int 4 

Tags: PHP数组合并 array_merge

分享到: