2016-03-28 29 views
0

我有一個對齊多維數組中的數字的問題。我想打印以下結果:如何正確對齊數組中的數字在PHP中?

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

而且我希望所有數字都與下一行的第二位數字對齊。但是我的結果是:

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

我這樣做是在C#中使用:

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

但我怎麼能接受這個結果在PHP?

+0

你可以使用'table'這一點。 –

+0

你的輸出模式是什麼?它是標準輸出還是HTML? –

+0

它是HTML。沒有使用'table'的字符串格式沒有任何功能? – ManIp

回答

0

您可以使用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>"; 

其結果將是:

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

爲什麼不使用''printf''?在PHP中是''printf('%4d',$ value);''不等於''Console.Write(「{0,4}」,matrix [row,col]);''在C#中? – ub3rst4r