PHP数组之array_merge(arr1,arr2,...,arrN)

本文深入讲解PHP中的array_merge函数,探讨其如何处理数组合并时的键名冲突,以及如何使用+运算符来避免覆盖原有的数组元素。通过实例演示了不同类型的数组合并结果,并提供了合并非数组类型的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

array_merge是将一个或者多个数组进行合并。

注意事项:
1.如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
2.如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。别忘了数字键名将会被重新编号!

例子1:
$array1 = array(
“color” => “red”,
2,
4
);
$array2 = array(
“a”,
“b”,
“color” => “green”,
“shape” => “trapezoid”,
4
);
result=arraymerge(result = array_merge(result=arraymerge(array1, $array2);

echo "<pre>";
print_r($result);
echo "</pre>";

输出结果如下:
Array

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

例子2:
$array1 = array();
$array2 = array(1 => “data”);
result=arraymerge(result = array_merge(result=arraymerge(array1, $array2);

echo "<pre>";
print_r($result);
echo "</pre>";

输出结果如下:
Array

(
[0] => data
)

如果你想完全保留原有数组并只想新的数组附加到后面,用 + 运算符:
第一个数组的键名将会被保留。在两个数组中存在相同的键名时,第一个数组中的同键名的元素将会被保留,第二个数组中的元素将会被忽略。

$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;

echo "<pre>";
print_r($result);
echo "</pre>";

输出结果如下:
Array
(
[0] => zero_a
[2] => two_a
[3] => three_a
[1] => one_b
[4] => four_b
)

合并非数组的类型。
$beginning = ‘foo’;
$end = array(1 => ‘bar’);
result=arraymerge((array)result = array_merge((array)result=arraymerge((array)beginning, (array)$end);

echo "<pre>";
print_r($result);
echo "</pre>";
输出结果如下:
Array

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值