1

我有一个小问题我正在创建多表并且我卡住了,我想创建这样的东西:

1 table: [4,5,6]
2 table: [7,2,7,8]
3 table: [1,1,1]
4 table: [6,0,9]

但每个表可以有不同的大小,
预期结果:

[[4,7,1,6], [5,2,1,0], [6,7,1,9], [8]] 

我试图让它使用for循环但到目前为止没有成功?

数组应该这样构建:
第一个元素是所有 t1[0] + t2[0] + t3[0]
的集合 ...第二个元素是所有 t1[1] + t2[1] + t3[1] 的集合……
等等

4

2 回答 2

4
$result = array();
foreach ([[4,5,6], [7,2,7,8], [1,1,1], [6,0,9]] as $key => $value) {
    foreach($value as $key2 => $value2) {
        $result[$key2][$key] = $value2;
    }
}

var_dump($result);
于 2012-12-27T12:46:12.083 回答
0
$result = array();
foreach (array(array(4,5,6), array(7,2,7,8), array(1,1,1), array(6,0,9)) as $k1 => $v1) {
    foreach($v1 as $k2 => $v2){
        if(!isset($result[$k2])){
            $result[$k2] = array();
        }
        $result[$k2][] = $v2;
    }
}

//output: [[4,7,1,6],[5,2,1,0],[6,7,1,9],[8]]

这是一个演示:http ://codepad.org/lxJt4zOp

于 2012-12-27T12:47:18.413 回答