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]
のコレクションです...2番目の要素はすべての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 に答える