在 PHP 中,如何添加到零填充数字字符串并保留零填充?
如果我在 PHP 中有一个包含 0001
的变量,并且我向它添加 1,则结果是 2,而不是 0002
。
我该如何解决这个问题?
If I have a variable in PHP containing 0001
and I add 1 to it, the result is 2 instead of 0002
.
How do I solve this problem?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
它可能会帮助您了解 PHP 数据类型以及对各种类型的变量进行操作时它们如何受到影响。 你说你有“PHP 中的一个变量说 0001”,但该变量是什么类型? 可能是一个字符串“0001”,因为整数不能具有该值(它只是 1)。 所以当你这样做时:
...
+
运算符会说:“嗯,这是一个字符串和一个整数。我不知道如何将字符串和整数相加。但我知道如何添加将字符串转换为 int,然后将两个 int 加在一起,所以让我这样做,”然后它将“0001”转换为 1。为什么? 因为将字符串转换为整数的 PHP 规则规定,字符串中任意数量的前导零都会被丢弃。 这意味着字符串“0001”变为 1。然后
+
表示:“嘿,我知道如何将 1 和 1 相加。结果是 2!” 该语句的输出是 2。It would probably help you to understand the PHP data types and how they're affected when you do operations to variables of various types. You say you have "a variable in PHP say 0001", but what type is that variable? Probably a string, "0001", since an integer can't have that value (it's just 1). So when you do this:
...the
+
operator says, "Hm, that's a string and an integer. I don't know how to add a string and an int. But I DO know how to convert a string INTO an int, and then add two ints together, so let me do that," and then it converts "0001" to 1. Why? Because the PHP rules for converting a string to an integer say that any number of leading zeroes in the string are discarded. Which means that the string "0001" becomes 1.Then the
+
says, "Hey, I know how to add 1 and 1. It's 2!" and the output of that statement is 2.另一个选项是 str_pad() 函数。
Another option is the str_pad() function.