【问题标题】:How to convert my multi-dimensional array to a 1-dimensional array? [duplicate]如何将我的多维数组转换为一维数组? [复制]
【发布时间】:2023-10-26 12:38:01
【问题描述】:

我的数组有问题。

我的数组如下所示:

[[1,2,3,4],[5,6,7],[8,9,10,11,12]]

我尝试过使用array_merge() 合并成一个数组。

我已尝试将数组与array_combine() 合并,但仍无法合并。

我希望我的数组变成这样:

[1,2,3,4,5,6,7,8,9,10,11,12]

【问题讨论】:

  • 你的php代码?

标签: php arrays flatten


【解决方案1】:

这可行,但如果它是解决此问题的最佳解决方案,我不是 100%...

$orignalArray = [[1,2,3,4],[5,6,7],[8,9,10,11,12]];

$newArray = array();

foreach ($orignalArray as $child){
    $newArray = array_merge($newArray, $child);
}

print_r($newArray);

【讨论】:

    【解决方案2】:
    function recursive_merge_array($array) {
      $resArray = array();
      $it = new RecursiveIteratorIterator(new RecursiveArrayIterator($array));
      foreach($it as $v) {
        $resArray[] = $v;
      }
    
      return $resArray;
    }
    
    $myArrays = [[1,2,3,4],[5,6,7],[8,9,10,11,12]];
    $mergedArrays = recursive_merge_array($myArrays);
    print_r($mergedArrays);
    

    【讨论】:

    • 为什么你可以在 2 行中做到这一点?
    • 它是模块化的,功能可以移动。
    • 成功了,非常感谢