数组合并
在PHP中,可以使用多种方法来合并数组。以下是一些常用的方法:
array_merge
函数:这是最常用的方法,它将两个或多个数组的元素合并到一起。如果数组中有相同的字符串键名,则后面的数组会覆盖前面的数组的值。如果有相同的数字键名,后面的数组的值将不会对前面数组的值进行覆盖,而是附加到后面。
$array1 = ['color' => 'red', 2, 4];
$array2 = ['a', 'b', 'color' => 'green', 'shape' => 'trapezoid', 4];
$result = array_merge($array1, $array2);
dump($result);
^ array:7 [
"color" => "green"
0 => 2
1 => 4
2 => "a"
3 => "b"
"shape" => "trapezoid"
4 => 4
]
array_merge_recursive
函数:与 array_merge
类似,但是对于相同的数字键,后面的数组的值会被合并成一个数组。对于相同的字符串键,则会递归合并两个数组的值。
$array1 = ['color' => 'red', 2, 4];
$array2 = ['a', 'b', 'color' => 'green', 'shape' => 'trapezoid', 4];
$result = array_merge_recursive($array1, $array2);
^ array:7 [
"color" => array:2 [
0 => "red"
1 => "green"
]
0 => 2
1 => 4
2 => "a"
3 => "b"
"shape" => "trapezoid"
4 => 4
]
array_combine
函数:用于通过合并两个数组来创建一个新数组,其中的一个数组的元素为键名,另一个数组的元素为键值。
$array1 = ['a', 'b', 'c'];
$array2 = ['1', '2', '3'];
$result = array_combine($array1, $array2);
^ array:3 [
"a" => "1"
"b" => "2"
"c" => "3"
]
array_reduce
函数:可以用于将多维数组合并为一维数组。
$array = [['a', 'b'], [1, 2], ['color' => 'red', 'shape' => 'trapezoid']];
$result = array_reduce($array, function ($carry, $item) {
return array_merge($carry, $item);
}, []);
dump($result);
^ array:6 [
0 => "a"
1 => "b"
2 => 1
3 => 2
"color" => "red"
"shape" => "trapezoid"
]
+
操作符:在数组的上下文中使用,它也可以合并数组,但它会保留前数组的键值对,覆盖重复的键,而不是像 array_merge
那样用后面数组的值覆盖前面数组的值。
$array1 = ['color' => 'red', 2, 4];
$array2 = ['a', 'b', 'color' => 'green', 'shape' => 'trapezoid', 4];
$result = $array1 + $array2;
dump($result);
^ array:5 [
"color" => "red"
0 => 2
1 => 4
"shape" => "trapezoid"
2 => 4
]
发布时间 : 2024-12-07,阅读量:80
, 分类:
PHP
本文链接:
https://upwqy.com/details/971.html