如何在PHP的數字前添加空格,以獲得如下輸出?在PHP中添加數字之前的空格
9
10
100
我正在使用str_pad($k,3,'',STR_PAD_LEFT)
,但空白空間不起作用。我不想要前導零,但我想要空格。
如何在PHP的數字前添加空格,以獲得如下輸出?在PHP中添加數字之前的空格
9
10
100
我正在使用str_pad($k,3,'',STR_PAD_LEFT)
,但空白空間不起作用。我不想要前導零,但我想要空格。
爲此使用功能str_pad。
您可能正在尋找str_pad()
。
foreach (array(1,2,3,100,1000) as $number)
echo str_pad($number, 10, " ", STR_PAD_LEFT);
但是,如果您希望以HTML格式輸出,則多個空格將被轉換爲一個。在這種情況下,請使用
作爲第三個參數。另外,如果使用像Times或Arial這樣的字體,由於字符的寬度不同,因此不會產生完全準確的結果。爲了獲得完美的結果,您需要使用像Courier
這樣的等寬字體。
無論如何,請先查看@Mark Baker的回答。在大多數情況下,使用CSS的text-align: right
正確對齊數據是最佳解決方案。
+1用於瀏覽器空間減少 – 2010-08-12 09:10:15
meh。 @Mark Baker給出了正確的答案:用CSS來做。至少你並沒有建議使用'printf'和family。 – aaronasterling 2010-08-12 09:12:57
但我得到#&n1#&n2與 – anuradha 2010-08-12 09:39:18
當打印的數字:
printf("%5d\n", $number);
更換5
你想要多少空間寬度最小。
如果您在網絡瀏覽器中顯示結果,那麼您應該知道瀏覽器有這種令人討厭的小傾向,將多個空白轉換爲單個空間。要檢查您的代碼是否正常工作,請使用瀏覽器的「查看源代碼」選項並計算實際源代碼中的空格,而不是渲染的顯示。
然後查看諸如
之類的替代方案或使用CSS將您的值右對齊。
+1 for css mentioned。這是一個表象問題,而不是PHP問題.CSS是正確的,__easy__處理這個問題的方法。 – aaronasterling 2010-08-12 09:11:57
您可以添加一些關於您想要實現的功能和示例的更多詳細信息嗎? – 2010-08-12 08:59:03
#9 #10 #100 print this like – anuradha 2010-08-12 08:59:59
你的str_pad沒有空間。 – fabrik 2010-08-12 09:06:03