php中的数字表示问题

发布于 2024-09-01 06:02:43 字数 300 浏览 4 评论 0原文

这是一件简单的事情,但我没有得到答案。

我生成的自动生成 ID 与年份 100001、100002 连接起来,其中 10 是年份 0001 是自动生成编号。当我拆分年份和数字时,0001 的加法值为 2。但我需要 0002。

Adding value is 0001+1, 0002+1, 0010+1, 0099+1

Now the answer are 2, 3, 11, 100 like that

But i need like that 0002,0003,0011,0100

提前致谢。

It is a simple thing but i don't get answer for that.

I am generated auto generation id concatenate with year 100001, 100002 like that, in this 10 is year 0001 is auto generation numbers. When i split the year and number then getting add one value is 2 for 0001. but i need as 0002.

Adding value is 0001+1, 0002+1, 0010+1, 0099+1

Now the answer are 2, 3, 11, 100 like that

But i need like that 0002,0003,0011,0100

Thanks in advance.

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

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

发布评论

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

评论(3

等风来 2024-09-08 06:02:43
$var = sprintf ('%04d', $var);

请参阅sprintf 手册

$var = sprintf ('%04d', $var);

See sprintf manual.

流年里的时光 2024-09-08 06:02:43

0001 不是一个数字,而是一个字符串。当您向它添加 1 时,PHP 将其转换为数字 (1),然后向其添加 1,因此最终得到 2。您要做的就是用 0 填充该数字,将其转换回字符串。您可以按照其他人的建议使用 sprintf 或 str_pad。

str_pad(1, 4, '0', STR_PAD_LEFT);

0001 is not a number, it's a string. When you add 1 to it, PHP converts it to a number (1), then adds 1 to it, so you end up with 2. What you want to do is pad the number with 0's, converting it back to a string. You can use sprintf, as others have suggested, or str_pad.

str_pad(1, 4, '0', STR_PAD_LEFT);
我们的影子 2024-09-08 06:02:43

您可以使用旧的 sprintf 来格式化数字。

$a = 1;
$f = sprintf("%06s", $a);
echo $f;

应打印“000001”。

文档: http://php.net/manual/en/function.sprintf.php< /a>

You can use good old sprintf to format numbers.

$a = 1;
$f = sprintf("%06s", $a);
echo $f;

Should print "000001".

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

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