PHP如何通过多维数组中具有相同子索引的元素生成数组?

时间:2015-10-28 01:02:32

标签: php multidimensional-array

例如,如何从$ arr生成$ newArr,如下所示:

$arr = array(
    array(11, 12, 13),
    array(21, 22, 23),
    array(31, 32, 33)
)

$newArr = array(
    array(11, 21, 31),
    array(12, 22, 23),
    array(13, 23, 33)
)

2 个答案:

答案 0 :(得分:2)

你想要做的是transpose,你可以用它来做一个漂亮的PHP快捷方式:

$newArr = call_user_func_array(
    'array_map',
    array_merge(
        array(NULL),
        $arr
    )
);

Demo

答案 1 :(得分:0)

我有另一种方式:

for ($i = 0; $i < count($arr[0]); $i++) {
   $newArr[] = array_column($arr, $i);
}