PHP 中数字前添加空格

发布于 2024-09-14 11:51:13 字数 247 浏览 7 评论 0原文

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

   9      
  10
 100

我正在使用 str_pad($k,3,'',STR_PAD_LEFT),但空格不起作用。我不需要前导零,但我想要空格。

How can I add space before numbers in PHP, to get output like the following?

   9      
  10
 100

I'm using str_pad($k,3,'',STR_PAD_LEFT), but blank space is not working. And I don't want leading zeros, but I want blank spaces.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

南七夏 2024-09-21 11:51:13

您可能正在寻找 str_pad()< /a>.

foreach (array(1,2,3,100,1000) as $number)
 echo str_pad($number, 10, " ", STR_PAD_LEFT);

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

另外,如果您使用 Times 或 Arial 等字体,这永远不会产生完全精确的结果,因为字符宽度不同。为了获得完美的结果,您需要使用等宽字体,例如 Courier

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

You may be looking for str_pad().

foreach (array(1,2,3,100,1000) as $number)
 echo str_pad($number, 10, " ", STR_PAD_LEFT);

However, if you want to output this in HTML, the multiple spaces will be converted to one. In that case, use   as the third parameter.

Also, if you use a font like Times or Arial, this will never produce perfectly exact results, because characters differ in width. For perfect results, you need to use a Monospace font like Courier.

Anyway, check @Mark Baker's answer first. Right aligning the data using CSS's text-align: right is the best solution in most cases.

余生再见 2024-09-21 11:51:13

如果您在网络浏览器中显示结果,那么您应该意识到浏览器有这种令人讨厌的小趋势,会将多个空格转换为单个空格。要检查代码是否正常工作,请使用浏览器的“查看源代码”选项并计算实际源代码而不是渲染显示中的空格数。

然后查看替代方案,例如   或使用 右对齐您的值CSS

If you're displaying the result in a web browser, then you should be aware that browsers have this nasty little tendency to convert multiple white spaces to a single space. To check if your code is working, use the browser's "view source" option and count the spaces in the actual source rather than the rendered display.

Then look at alternatives such as   or right-aligning your values using CSS.

聽兲甴掵 2024-09-21 11:51:13

打印数字时:

printf("%5d\n", $number);

5 替换为您想要的最小空格宽度。

When printing the numbers:

printf("%5d\n", $number);

Replace the 5 with how many spaces width minimum you want.

我的影子我的梦 2024-09-21 11:51:13

为此,请使用函数 str_pad

Use the function str_pad for this purpose.

倾`听者〃 2024-09-21 11:51:13

这就是你要找的:

str_replace(" "," ",str_pad($number, 5,'   ', STR_PAD_LEFT));

grml,看看我的评论。我不知道为什么这里的 nbsp :) 不见了

This is what you are looking for:

str_replace(" "," ",str_pad($number, 5,'   ', STR_PAD_LEFT));

grml, look into my comment. I don't know why here the nbsp :) is gone

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文