在php中转换2d数组?

在php中转换2d数组?,php,arrays,sorting,Php,Arrays,Sorting,我需要一个函数,用于将二维数组从: 1 4 2 5 3 6 到 我的第一种方法是用 array_unshift($data, null); call_user_func_array('array_map', $data); 但现在我明白了: 1 5 2 6 3 4 有人能帮忙吗 编辑: 好的,让我更清楚地说,我有这些类别,我需要以这种方式对它们重新排序 Array ( [0] => Array ( [0] => Das ist l

我需要一个函数,用于将二维数组从:

1 4
2 5
3 6

我的第一种方法是用

array_unshift($data, null);
call_user_func_array('array_map', $data);
但现在我明白了:

1 5
2 6
3
4
有人能帮忙吗

编辑: 好的,让我更清楚地说,我有这些类别,我需要以这种方式对它们重新排序

Array
(
    [0] => Array
        (
            [0] => Das ist los
            [1] => Land & Leute
            [2] => Wirtschaft & Politik
            [3] => Leben
            [4] => Kultur
        )

    [1] => Array
        (
            [0] => Chronik
            [1] => Motor
            [2] => Sport
            [3] => Blaulicht
            [4] => Schauplatz
        )

)
我需要:

Array
(
    [0] => Array
        (
            [0] => Das ist los
            [1] => Wirtschaft & Politik
            [2] => Kultur
            [3] => Motor
            [4] => Blaulicht
        )

    [1] => Array
        (
            [0] => Land & Leute
            [1] => Leben
            [2] => Chronik
            [3] => Sport
            [4] => Schauplatz
        )

)

对于简单的2列数组:

$myArray = [
    [1,4],
    [2,5],
    [3,6],
];

$myNewArray = array_chunk(
    array_merge(
        array_column($myArray, 0), 
        array_column($myArray, 1)
    ), 
    2
);
var_dump($myNewArray);
编辑

对于更通用的解决方案:

$myArray = [
    [1,6,11],
    [2,7,12],
    [3,8,13],
    [4,9,14],
    [5,10,15],
];

$columns = count($myArray[0]);

$tmpArray = [];
for($i = 0; $i < $columns; ++$i) {
    $tmpArray = array_merge(
        $tmpArray,
        array_column($myArray, $i)
    );
}

$myNewArray = array_chunk(
    $tmpArray, 
    $columns
);
var_dump($myNewArray);
$myArray=[
[1,6,11],
[2,7,12],
[3,8,13],
[4,9,14],
[5,10,15],
];
$columns=count($myArray[0]);
$tmpArray=[];
对于($i=0;$i<$columns;++$i){
$tmpArray=array\u merge(
$tmpArray,
数组\列($myArray,$i)
);
}
$myNewArray=array\u块(
$tmpArray,
$columns
);
变量转储($myNewArray);

我们可以使用合适的
变量转储($array)
?首先感谢您的帮助。我补充了一些细节。我的数组更像[[1,2,3],[4,5,6],我需要转换为[[1,3,5][2,4,6]]
$myArray = [
    [1,6,11],
    [2,7,12],
    [3,8,13],
    [4,9,14],
    [5,10,15],
];

$columns = count($myArray[0]);

$tmpArray = [];
for($i = 0; $i < $columns; ++$i) {
    $tmpArray = array_merge(
        $tmpArray,
        array_column($myArray, $i)
    );
}

$myNewArray = array_chunk(
    $tmpArray, 
    $columns
);
var_dump($myNewArray);