📜  array_merge (1)

📅  最后修改于: 2023-12-03 15:13:29.787000             🧑  作者: Mango

array_merge 函数

array_merge() 是 PHP 列表操作函数之一,它将两个或多个数组合并成一个数组。合并的数组将包含所有输入数组中的键和值,重复的键会被后面的值覆盖。

语法
array_merge ( array $array1 [, array $... ] ) : array
  • array1:必需。第一个数组。
  • $...:可选。其他数组。
返回值

array_merge() 函数返回合并后的数组。

示例
基本用法
$array1 = ['foo', 'bar'];
$array2 = ['baz', 'qux'];

$result = array_merge($array1, $array2);

print_r($result);
// Output: Array ( [0] => foo [1] => bar [2] => baz [3] => qux )

在上面的示例中,我们将两个数组 $array1$array2 合并成一个新数组 $result。可以看到,新数组包含了两个输入数组中所有键和值。在这里,我们也可以使用 + 运算符将两个数组合并:

$result = $array1 + $array2;

print_r($result);
// Output: Array ( [0] => foo [1] => bar [2] => baz [3] => qux )

这两种方法都会产生相同的结果。

合并关联数组
$array1 = ['color' => 'red', 'shape' => 'square'];
$array2 = ['shape' => 'circle', 'size' => 'large'];

$result = array_merge($array1, $array2);

print_r($result);
// Output: Array ( [color] => red [shape] => circle [size] => large )

在上面的示例中,我们将两个关联数组 $array1$array2 合并成一个新数组 $result。注意到 $array2 中的 shape 键重复出现,而新数组中的 shape 键,是由 $array2 中的值覆盖 $array1 中的值得到的。

合并多个数组
$array1 = ['a', 'b'];
$array2 = ['c', 'd'];
$array3 = ['e', 'f'];

$result = array_merge($array1, $array2, $array3);

print_r($result);
// Output: Array ( [0] => a [1] => b [2] => c [3] => d [4] => e [5] => f )

在上面的示例中,我们将三个数组 $array1$array2$array3 合并成一个新数组 $result

注意事项
  • 如果数组中有键名是字符串,array_merge() 将会覆盖前面的键名,即使两个数组中相邻的键名是相同的。
  • 如果两个或多个数组具有相同的整数键,后面的值将不会覆盖原有的值,而是会被附加在末尾。
  • 如果输入数组是空的,函数将返回空数组。
  • array_merge() 函数仅可将数组合并成一个新数组,不能合并非数组类型的值。
结论

使用 array_merge() 函数能够非常方便地将一个或多个数组合并成一个数组。我们应该注意到,输入数组中的键值对在新数组中可能会被覆盖和重复,因此要特别谨慎。