PHP

array_merge

array_merge

(PHP 4, PHP 5, PHP 7)

array_merge - 合并一个或多个数组

描述

array array_merge ( array $array1 [, array $... ] )

将一个或多个数组的元素合并到一起,以便将其中一个的值附加到前一个的末尾。它返回结果数组。

如果输入数组具有相同的字符串键,则该键的后面的值将覆盖前一个。但是,如果数组包含数字键,则后面的值不会覆盖原始值,但会被追加。

使用数字键输入数组中的值将使用结果数组中从零开始的递增键重新编号。

参数

array1

要合并的初始数组。

...

要合并的数组的变量列表。

返回值

返回结果数组。

示例

示例#1 array_merge()示例

<?php $array1 = array("color" => "red", 2, 4 $array2 = array("a", "b", "color" => "green", "shape" => "trapezoid", 4 $result = array_merge($array1, $array2 print_r($result ?>

上面的例子将输出:

Array ( [color] => green [0] => 2 [1] => 4 [2] => a [3] => b [shape] => trapezoid [4] => 4 )

示例#2简单的array_merge()示例

<?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" }

示例#3使用非数组类型的array_merge()

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

上面的例子将输出:

Array ( [0] => foo [1] => bar )

另请参阅

  • array_merge_recursive() - 递归合并两个或更多数组

  • array_replace() - 将传入数组中的元素替换为第一个数组

  • array_combine() - 通过使用一个数组作为键和另一个数组的值创建一个数组

  • array operators

← array_merge_recursive

array_multisort →