如何组合交错的数组与PHP

Kei*_*ith 1 php

我想采用这样的数组并将其组合成1个单独的数组.

array (size=2)
   0 => 
      array (size=10)
         0 => string '1' 
         1 => string 'a' 
         2 => string '3' 
         3 => string 'c' 
   1 => 
      array (size=5)
         0 => string '2'
         1 => string 'b'
Run Code Online (Sandbox Code Playgroud)

但是我希望数组结果是交错的.

所以它最终看起来像

array
     0 => '1'
     1 => '2'
     2 => 'a'
     3 => 'b'
     4 => '3'
     5 => 'c'
Run Code Online (Sandbox Code Playgroud)

我想这样,无论传入多少个初始键(这个有2个)都没关系,它应该与1,2或5一起使用.另外,从我的例子可以看出最有可能的元素数量不会匹配.

有谁知道实现这一目标的最佳方法?

Mar*_*ker 5

$data = array(
    0 => array(
        0 => '1',
        1 => 'a',
        2 => '3',
        3 => 'c',
    ),
    1 => array(
        0 => '2',
        1 => 'b',
    ),
);

$newArray = array();
$mi = new MultipleIterator(MultipleIterator::MIT_NEED_ANY);
$mi->attachIterator(new ArrayIterator($data[0]));
$mi->attachIterator(new ArrayIterator($data[1]));
foreach($mi as $details) {
    $newArray = array_merge(
        $newArray,
        array_filter($details)
    );
}
var_dump($newArray);
Run Code Online (Sandbox Code Playgroud)