2016-03-28 14 views
0

Sayıları çok boyutlu bir diziden hizalama konusunda bir sorunum var. Ben şu sonucu yazdırmak istiyorum:Php'deki bir diziden sayıları hizalamak nasıl?

1 2 3 4 
12 13 14 5 
11 16 15 6 
10 9 8 7 

Ve gelecek satırların ikinci rakam ile uyumlu hale getirilmesi sayıların hepsini istiyorum.

for (int col = 0; col < matrix.GetLength(1); col++) 
{ 
    Console.Write("{0,4}", matrix[row, col]); 
} 

Ama nasıl PHP'de bu sonucu alabilir: Ben kullanarak C# bunu

1 2 3 4 
12 13 14 5 
11 16 15 6 
10 9 8 7 

: Ancak benim sonuç bu mu?

+0

Bunun için 'table' kullanabilirsiniz. –

+0

Çıktı modunuz nedir? Stdout mu yoksa HTML mi? –

+0

Bu bir HTML'dir. 'Table' kullanılmadan String Formatı için herhangi bir işlev yok mu? – ManIp

cevap

0

Sen sonuç olurdu str_pad

$arr = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16); 
$test = ''; 

foreach ($arr as $key => $value) { 

    if ($key % 4 == 0) { 
     $test .= "\n"; 
    } 

    $test .= str_pad($value, 4, ' ', STR_PAD_LEFT); 
} 

echo "<pre>$test</pre>"; 

kullanabilirsiniz:

1 2 3 4 
    5 6 7 8 
    9 10 11 12 
    13 14 15 16 
+0

Neden '' printf'' kullanmıyorsunuz? '' Printf ('% 4d', $ değer); '' PHP'de '' Console.Write ('{0,4}' ', matris [satır, col]) '' C değil mi? – ub3rst4r

İlgili konular