如何在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