PHP 在单位数字之前动态添加前导零

发布于 2024-11-01 14:49:37 字数 204 浏览 1 评论 0原文

PHP - 是否有一种快速、即时的方法来测试单个字符串,然后在前面添加前导零?

例子:

$year = 11;
$month = 4;

$stamp = $year.add_single_zero_if_needed($month);  // Imaginary function

echo $stamp; // 1104

PHP - Is there a quick, on-the-fly method to test for a single character string, then prepend a leading zero?

Example:

$year = 11;
$month = 4;

$stamp = $year.add_single_zero_if_needed($month);  // Imaginary function

echo $stamp; // 1104

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

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

发布评论

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

评论(3

酒与心事 2024-11-08 14:49:37

您可以使用 sprintf:http://php.net/manual/en/function.sprintf。 php

<?php
$num = 4;
$num_padded = sprintf("%02d", $num);
echo $num_padded; // returns 04
?>

如果少于所需的字符数,它只会添加零。

编辑:正如 @FelipeAls 所指出的:

在处理数字时,您应该使用 %d (而不是 %s),尤其是当有数字时是负数的可能性。如果您仅使用正数,则任一选项都可以正常工作。

例如:

sprintf("%04s", 10); 返回 0010
sprintf("%04s", -10); 返回 0-10

其中:

sprintf("%04d", 10); 返回 0010
sprintf("%04d", -10); 返回 -010

You can use sprintf: http://php.net/manual/en/function.sprintf.php

<?php
$num = 4;
$num_padded = sprintf("%02d", $num);
echo $num_padded; // returns 04
?>

It will only add the zero if it's less than the required number of characters.

Edit: As pointed out by @FelipeAls:

When working with numbers, you should use %d (rather than %s), especially when there is the potential for negative numbers. If you're only using positive numbers, either option works fine.

For example:

sprintf("%04s", 10); returns 0010
sprintf("%04s", -10); returns 0-10

Where as:

sprintf("%04d", 10); returns 0010
sprintf("%04d", -10); returns -010

挖鼻大婶 2024-11-08 14:49:37

您可以使用 str_pad 添加 0 的

str_pad($month, 2, '0', STR_PAD_LEFT); 

<代码>字符串 str_pad ( 字符串 $input , int $pad_length [, 字符串 $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] )

You can use str_pad for adding 0's

str_pad($month, 2, '0', STR_PAD_LEFT); 

string str_pad ( string $input , int $pad_length [, string $pad_string = " " [, int $pad_type = STR_PAD_RIGHT ]] )

放肆 2024-11-08 14:49:37

字符串格式化的通用工具,sprintf

$stamp = sprintf('%s%02s', $year, $month);

http://php .net/manual/en/function.sprintf.php

The universal tool for string formatting, sprintf:

$stamp = sprintf('%s%02s', $year, $month);

http://php.net/manual/en/function.sprintf.php

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