我有两个顺序(非关联)数组,其值我想要组合成一个新数组,忽略索引但保留顺序。除了执行以下操作之外,是否有更好的解决方案(即现有的操作员或功能):
$a = array('one', 'two');
$b = array('three', 'four', 'five');
foreach($b as $value) {
$a[] = $value;
}
备注:'+'运算符在这里不起作用('3'与索引0覆盖'1',索引为零)。 函数array_merge具有相同的问题。
答案 0 :(得分:5)
array_merge
就是你想要的,我不认为你的覆盖问题是正确的。从手册:
但是,如果数组包含数字键,则后面的值不会覆盖原始值,但会附加。
答案 1 :(得分:3)
$a + $b
on two arrays是$a
和$b
:
+运算符将右手数组中剩余键的元素附加到左手,而重复的键不会被覆盖。
因此使用array_merge
合并两个数组:
$merged = array_merge($a, $b);