将数组添加到未合并相同索引的数组中


Add array to an array with the same indexes not being merged

可能的重复项:
将两个数组与数字键组合在一起,而不会覆盖旧键

好吧,伙计们,正在搜索这个没有运气 - 它总是只指向对我的目的无用的array_mergearray_pusharray_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"
)

由于我在这个问题上没有发现任何东西,我自己尝试了($arr 1 和 $arr 2 是两个小数组):

$result_array = $arr1;
foreach($arr2 as $v) {
    $result_array[] = $v;
}

当然,这工作正常,但我不喜欢这种方法 - 想象一下第二个数组中不会只有 3 个元素的情况......

问题:有没有更好的方法,或者充其量是一些内置功能(我不知道)???

array_merge将毫无问题地工作,因为您使用数字键...请参阅文档中的以下说明

如果输入数组具有相同的字符串键,则该键的后一个值将覆盖前一个值。但是,如果数组包含数字键,则后面的值不会覆盖原始值,而是会追加

强调我的

数组合并适用于您的数字索引数组:

<?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
)