Normalde böyle bir şey nasıl açacağınızı soran olurdu:
1 2 3
4 5 6
7 8 9
10 11 12
Bu içine:
1 4 7 10
2 5 8 11
3 6 9 12
Ama aslında ben bu haline çevirmek istiyorum:
1 5 9
2 6 10
3 7 11
4 8 12
Diğer bir deyişle, ben satırlar ve sütunlar çevirmek, ama aynı "genişliği" ve yeni dizinin "yükseklik" tutmak istiyorum. Ben bir saatten fazla bu sıkışmış oldum.
Bu normal bir "flip" (ilk örnek) yapmak için kullanıyorum fonksiyonudur:
function flip($arr)
{
$out = array();
foreach ($arr as $key => $subarr)
{
foreach ($subarr as $subkey => $subvalue)
{
$out[$subkey][$key] = $subvalue;
}
}
return $out;
}