PHP 中有两种合并数组的方式,分别是使用 array_merge 函数和数组运算符 +(加号)。
array_merge 函数
array_merge 函数会将多个数组合并成一个数组,返回的新数组中,所有的输入的数组的值都会保留,并以它们的原始键作为新数组的键。如果有相同的键,则后面的值会覆盖前面的值。
$firstArray = ['a', 'b', 'c'];
$secondArray = ['d', 'e', 'f'];
$mergedArray = array_merge($firstArray, $secondArray);
print_r($mergedArray);
执行上述代码后,输出结果为:
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
[4] => e
[5] => f
)
可以看到,使用 array_merge 函数后,$firstArray 和 $secondArray 按顺序合并成了一个新的数组 $mergedArray,在 $mergedArray 中相同键的值会被后面的值覆盖。
也可以将多个数组一起传递给 array_merge 函数:
$firstArray = ['a', 'b', 'c'];
$secondArray = ['d', 'e', 'f'];
$thirdArray = ['g', 'h', 'i'];
$mergedArray = array_merge($firstArray, $secondArray, $thirdArray);
print_r($mergedArray);
执行上述代码后,输出结果为:
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
[4] => e
[5] => f
[6] => g
[7] => h
[8] => i
)
数组运算符 +
数组运算符 + 可以用于将两个或多个数组合并成一个数组。如果有相同的键,+ 运算符会保留左侧数组中的值而忽略右侧数组中的值。
$firstArray = ['a' => 'apple', 'b' => 'banana'];
$secondArray = ['b' => 'berry', 'c' => 'cherry'];
$mergedArray = $firstArray + $secondArray;
print_r($mergedArray);
执行上述代码后,输出结果为:
Array
(
[a] => apple
[b] => banana
[c] => cherry
)
在这个例子中,$firstArray 和 $secondArray 都含有键 b,但是 $firstArray 的值为 'banana',$secondArray 的值为 'berry',因此使用 + 运算符时,保留了 $firstArray 中的值。
如果在 + 运算符中传递多个数组,则只合并第一个数组中唯一的键,因为后面所有的数组都会被忽略。
$firstArray = ['a' => 'apple', 'b' => 'banana'];
$secondArray = ['b' => 'berry', 'c' => 'cherry'];
$thirdArray = ['d' => 'date', 'e' => 'elderberry'];
$mergedArray = $firstArray + $secondArray + $thirdArray;
print_r($mergedArray);
执行上述代码后,输出结果为:
Array
(
[a] => apple
[b] => banana
[c] => cherry
[d] => date
[e] => elderberry
)
在这个例子中,只有第一个数组 $firstArray 中的键 a 和 b 是唯一的,因此只有这两个键在 $mergedArray 中被合并,其他数组中的键和值都被忽略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php合并数组array_merge函数运算符加号与的区别 - Python技术站