可能重复:
Combine Two Arrays with numerical keys without overwriting the old keys
好的家伙,正在搜索这个没有运气的人 - 它总是只指向array_merge
或array_push
或array_combine
这些对我来说无用的功能。
这是两个数组(编号索引):
Array (
[0] => 12345
[1] => "asdvsdfsasdfsdf"
[2] => "sdgvsdfgsdfbsdf"
)
Array (
[0] => 25485
[1] => "tyjfhgdfsasdfsdf"
[2] => "mojsbnvgsdfbsdf"
)
我需要创建一个"加入" (联合)数组,所以它看起来像:
Array (
[0] => 12345
[1] => "asdvsdfsasdfsdf"
[2] => "sdgvsdfgsdfbsdf"
[3] => 25485
[4] => "tyjfhgdfsasdfsdf"
[5] => "mojsbnvgsdfbsdf"
)
由于我没有发现这个问题,我自己尝试($ arr1和$ arr2是两个小数组):
$result_array = $arr1;
foreach($arr2 as $v) {
$result_array[] = $v;
}
这当然是正常的,但我不喜欢这种方法 - 想象一下第二阵列中不会只有3个元素的情况......
问题:是否有更好的方法或最好的一些内置函数(我不知道)???
答案 0 :(得分:5)
array_merge
可以正常运行...请参阅以下文档说明
如果输入数组具有相同的字符串键,则该键的后一个值将覆盖前一个键。 但是,如果数组包含数字键,则后面的值不会覆盖原始值,但会附加。
强调我的
答案 1 :(得分:1)
数组合并适用于数字索引数组:
<?php
$arrayOne = array(
0 => 12345
,1 => "asdvsdfsasdfsdf"
,2 => "sdgvsdfgsdfbsdf"
);
$arrayTwo = array(
0 => 25485
,1 => "tyjfhgdfsasdfsdf"
,2 => "mojsbnvgsdfbsdf"
);
$arrayMerged = array_merge($arrayOne, $arrayTwo);
print_r($arrayMerged);
?>
输出:
Array
(
[0] => 12345
[1] => asdvsdfsasdfsdf
[2] => sdgvsdfgsdfbsdf
[3] => 25485
[4] => tyjfhgdfsasdfsdf
[5] => mojsbnvgsdfbsdf
)