交替数组每第三项合并一次


Alternate arrays merge every third item

我有两个多维数组(但为了简单起见,我们就说它们是一维数组),我需要将它们合并为一个单独的,但交替的元素。第一个数组更大,我需要第二个数组在每三个元素中合并。

举个例子:

$array1 = array("Hello", "Bonjour", "Hola", "Ciao", "Привет", "Hallo","Nihao");
$array2 = array("World", "Monde", "Mundo");

我希望最后的数组是这样的

["Hello", "Bonjour", "World", "Hola", "Ciao", "Monde", "Привет", "Hallo", "Mundo", "Nihao"]

如果第一个数组中有更多的元素,那么不管第二个数组中是否还有剩余的元素,它都应该继续添加它们。

我该怎么做呢?

在您的示例中,array2的第三个元素被插入到array1的第三个元素之后,In first和second被插入到second之后。

假设这是一个错误;$array1总是足够大;你可以这样写:

$i=2; while($v = array_shift($array2))
{
    array_splice($array1, $i, 0, [$v]);
    $i+=3;
}