交替数组每三个项目合并一次
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 的第三项之后,第一个和第二个插入到第二个之后。
假设这是一个错误; $array1 总是足够大;你可以使用这样的东西:
$i=2; while($v = array_shift($array2))
{
array_splice($array1, $i, 0, [$v]);
$i+=3;
}
我有两个多维数组(但为了简单起见,我们只说它们是一维的)我需要将它们合并成一个,但元素是交替的。第一个数组更大,我需要在每三个项目中合并第二个数组。
举个例子:
$array1 = array("Hello", "Bonjour", "Hola", "Ciao", "Привет", "Hallo","Nihao");
$array2 = array("World", "Monde", "Mundo");
我希望最终数组看起来像这样
["Hello", "Bonjour", "World", "Hola", "Ciao", "Monde", "Привет", "Hallo", "Mundo", "Nihao"]
如果第一个数组中的项目更多,那么它应该继续添加它们,而不管第二个数组是否还有剩余。
我该怎么做?
在您的示例中,array2 的第三项插入到 array1 的第三项之后,第一个和第二个插入到第二个之后。
假设这是一个错误; $array1 总是足够大;你可以使用这样的东西:
$i=2; while($v = array_shift($array2))
{
array_splice($array1, $i, 0, [$v]);
$i+=3;
}