在PHP中,我怎么添加到零填充数字字符串和维护零填充?
-
23-08-2019 - |
题
如果我在含有0001
PHP可变和我对它加1,结果是2,而不是0002
。
我该如何解决这个问题?
解决方案
$foo = sprintf('%04d', $foo + 1);
其他提示
这可能会帮助你了解PHP数据类型以及它们如何影响当你操作不同类型的变量。你说你有“在PHP中一个变量说0001”,但什么类型的变量?可能是一个字符串,“0001”,因为整数不能有值(这只是1)。所以,当你做到这一点:
echo ("0001" + 1);
...的+
经营者说,“嗯,这是一个字符串和一个整数。我不知道如何添加一个字符串和一个int。但我知道如何将字符串转换为一个int,然后添加两个整数在一起,所以让我做“,然后将其转换为‘0001’为1。为什么呢?因为对于一个字符串转换为整数的PHP规则说,任何数量的字符串中的前导零的被丢弃。这意味着字符串 “0001” 变为1。
然后+
说,“嘿,我知道如何添加1和1这2!”和该声明输出是2。
另一种选择是 str_pad()函数
$text = str_pad($text, 4, '0', STR_PAD_LEFT);
<?php
#how many chars will be in the string
$fill = 6;
#the number
$number = 56;
#with str_pad function the zeros will be added
echo str_pad($number, $fill, '0', STR_PAD_LEFT);
// The result: 000056
?>
不隶属于 StackOverflow