【问题标题】:Combine and transpose multiple single-dimensional arrays into a single multi-dimensional array将多个一维数组合并并转置为一个多维数组
【发布时间】:2012-01-15 15:49:03
【问题描述】:

我有三个一维数组,我需要将它们组合成一个 3 维数组,其中新数组中的每个数组都包含三个原始数组中的每个数组的一个元素。

我知道如何使用简单的循环来做到这一点,但我想知道是否有更快/内置的方法来做到这一点。这是一个使用循环执行此操作的示例,因此您可以理解我在寻找什么。

function combineArrays(array $array1, array $array2, array $array3) {
    //Make sure arrays are of the same size
    if(count($array1) != count($array2) || count($array2) != count($array3) || count($array1) != count($array3)) {
        throw new Exception("combineArrays expects all paramters to be arrays of the same length");
    }

    //combine the arrays
    $newArray = array();
    for($count = 0; $count < count($array1); $count++) {
        $newArray[] = array($array1[$count], $array2[$count], $array3[$count]);
    }
    return $newArray;
}

【问题讨论】:

    标签: php arrays merge transpose


    【解决方案1】:
    $result = array_map(null,$array1,$array2,$array3);
    

    【讨论】:

      猜你喜欢
      • 2011-07-09
      • 1970-01-01
      • 2021-04-26
      • 2019-10-08
      • 1970-01-01
      • 2023-03-28
      • 2021-10-21
      • 2014-06-29
      • 2020-10-11
      相关资源
      最近更新 更多