定义和用法

array_merge() 函数把一个或多个数组合并为一个数组。

提示:您可以向函数输入一个或者多个数组。

注释:如果两个或更多个数组元素有相同的键名,则最后的元素会覆盖其他元素。

注释:如果您仅向 array_merge() 函数输入一个数组,且键名是整数,则该函数将返回带有整数键名的新数组,其键名以 0 开始进行重新索引(参见下面的实例 1)。

提示:该函数与 array_merge_recursive() 函数之间的不同是在处理两个或更多个数组元素有相同的键名的情况。array_merge_recursive() 不会进行键名覆盖,而是将多个相同键名的值递归组成一个数组。

语法

array_merge(array1,array2,array3...)

参数描述

参数 描述
array1 必需。规定数组。
array2 可选。规定数组。
array3 可选。规定数组。

返回值:

返回合并的数组。

实例一

<?php
 $beginning  =  \'foo\' ;
 $end  = array( 1  =>  \'bar\' );
 $result  =  array_merge ((array) $beginning , (array) $end );
 print_r ( $result );
?> 

在线运行

 

实例二

<?php
 $array1  = array();
 $array2  = array( 1  =>  \"data\" );
 $result  =  array_merge ( $array1 ,  $array2 );
?> 

在线运行

别忘了数字键名将会被重新编号!

运行结果:

Array
(
    [0] => data
)

如果你想完全保留原有数组并只想新的数组附加到后面,用 + 运算符: 

<?php
 $array1  = array( 0  =>  \'zero_a\' ,  2  =>  \'two_a\' ,  3  =>  \'three_a\' );
 $array2  = array( 1  =>  \'one_b\' ,  3  =>  \'three_b\' ,  4  =>  \'four_b\' );
 $result  =  $array1  +  $array2 ;
 var_dump ( $result );
?> 

在线运行

运行结果:

array(5) {
  [0]=>
  string(6) \"zero_a\"
  [2]=>
  string(5) \"two_a\"
  [3]=>
  string(7) \"three_a\"
  [1]=>
  string(5) \"one_b\"
  [4]=>
  string(6) \"four_b\"
}

 

收藏 打印