在PHP中的数字前添加空格

anu*_*dha 1 php padding string-formatting

如何在PHP中的数字前添加空格,以获得如下输出?

   9      
  10
 100
Run Code Online (Sandbox Code Playgroud)

我正在使用str_pad($k,3,'',STR_PAD_LEFT),但空白区域无效.我不想要前导零,但我想要空格.

Pek*_*ica 6

你可能正在寻找str_pad().

foreach (array(1,2,3,100,1000) as $number)
 echo str_pad($number, 10, " ", STR_PAD_LEFT);
Run Code Online (Sandbox Code Playgroud)

但是,如果要以HTML格式输出,则多个空格将转换为一个.在这种情况下,使用 第三个参数.

此外,如果您使用像Times或Arial这样的字体,这将永远不会产生完全精确的结果,因为字符的宽度不同.要获得完美的效果,您需要使用Monospace字体Courier.

无论如何,首先检查@Mark Ba​​ker的答案.text-align: right在大多数情况下,使用CSS正确对齐数据是最佳解决方案.


Mar*_*ker 5

如果要在Web浏览器中显示结果,则应注意浏览器几乎没有将多个空格转换为单个空格的讨厌趋势。要检查您的代码是否正常工作,请使用浏览器的“查看源代码”选项,并在实际源代码中而不是在渲染的显示中计算空格。

然后查看替代方法,例如 使用CSS或将值右对齐。