通常、4 行 3 列の配列を次のように変換する方法を尋ねます。
1 2 3
4 5 6
7 8 9
10 11 12
次のような 3 行 4 列の配列に: ( I DON'T WANT THIS )
1 4 7 10
2 5 8 11
3 6 9 12
しかし、実際には、これに変えたい: ( I WANT THIS )
1 5 9
2 6 10
3 7 11
4 8 12
つまり、行と列を反転させたいのですが、新しい配列の「幅」と「高さ」は同じに保ちます。私はこれに1時間以上立ち往生しています。
これは、通常の「反転」を行うために使用している関数です (最初の例)。
function flip($arr)
{
$out = array();
foreach ($arr as $key => $subarr)
{
foreach ($subarr as $subkey => $subvalue)
{
$out[$subkey][$key] = $subvalue;
}
}
return $out;
}