题
我想用0计算。我的意思是
$ x = 002 $ y = 999
现在我想通过保留00来计算它。
for ( $i = $x ; $i <= $y; $i++ )
{
echo $i;
}
但它回应 - 002,3,4,5
我希望通过将00保持为005,006,007,008,009,010,011,012来计算。
解决方案
for ($i = $x ; $i <= $y; $i++)
{
printf('%03d', $i);
}
其他提示
(s)printf 是您的朋友,手册上有很多有用的例子-page,但你想要:
printf('%03d',$ i);
这个想法是你不要那样算,你只是这样表现出来。我希望你明白00只是为了演示而已。欢呼声。
使用printf:
for ( $i = $x ; $i <= $y; $i++ ) {
printf("%03d", $i);
}
printf(&quot;%03d&quot;,$ i);
str_pad 方法:
echo str_pad($i, 3, '0', STR_PAD_LEFT);
如果$ i是整数,则不能这样做。第一次分配$ i时,它会以$ i ++的形式存储为字符串,然后将其转换为整数。
如果必须保持原始格式,请将$ i视为字符串,并使用自定义函数对$ i执行所有算术运算,而不是使用整数运算构建。
最简单的解决方案是让$ i为整数,并在输出$ i时前置零。
不隶属于 StackOverflow