一尘不染

将多个阵列插入单个阵列

php

我需要将几个数组合并为一个数组。描述我要寻找的内容的最好方法是将阵列“交织”为单个阵列。

例如,从数组#1中取出第一项,然后追加到最终数组中。从数组2获取项目1,然后追加到最终数组。从数组#1获得第二项并追加…等。

最终的数组如下所示:

array#1.element#1 array#2.element#1。。。

“踢球者”是各个阵列可以具有各种长度。

是否有更好的数据结构要使用?


阅读 235

收藏
2020-05-29

共1个答案

一尘不染

例如,

function array_zip_merge() {
  $output = array();
  // The loop incrementer takes each array out of the loop as it gets emptied by array_shift().
  for ($args = func_get_args(); count($args); $args = array_filter($args)) {
    // &$arg allows array_shift() to change the original.
    foreach ($args as &$arg) {
      $output[] = array_shift($arg);
    }
  }
  return $output;
}

// test

$a = range(1, 10);
$b = range('a', 'f');
$c = range('A', 'B');
echo implode('', array_zip_merge($a, $b, $c)); // prints 1aA2bB3c4d5e6f78910
2020-05-29