PHP - 增加一个值

时间:2010-10-06 17:35:17

标签: php

我想以3位数格式增加一个值。

例如:

$start_value = 000;
while () {
do something;
$start_value++;
}

通过这种方式我得到了这个结果:

$start_value = 000;
$start_value = 1;
$start_value = 2;
$start_value = 3; 

等等

而不是'001', '002', '003'

我如何才能完成这个结果?

3 个答案:

答案 0 :(得分:10)

使用sprintf您可以通过以下方式完成此任务:

echo sprintf("%03d", $start_value++) . "<br>";

希望这就是你所追求的。

使用您的代码实现它:

$start_value = 000;
while () {
    do something;
    $start_value = sprintf("%03d", $start_value++);
}

答案 1 :(得分:4)

你在这里犯了大错。代码中的000是八进制数。在许多编程语言中以0开头的任何文字编号都被视为八进制文字。如果你想存储000,你需要一个字符串,而不是一个数字。

$start_value = "000";
while((int) $start_value /*--apply condition --*/) {
    do something;
    $start_value = str_pad((int) $start_value+1, 3 ,"0",STR_PAD_LEFT);
}

答案 2 :(得分:0)

就是这样。在PHP中,没有数据类型的概念,所有内容都是在运行时根据其使用位置和方式确定的。

<?php
 $start_value = 000;
 while ($start_value < 10) {
 //your logic goes here
  $start_value++;
 printf("[%03s]\n",$start_value);
 }
?>

输出:[001] [00] [00] [00] [00] [00] [009] [00] [010]

所以你可以做所有的计算。无论您想要打印哪个值,都可以使用带格式说明符的printf。!!希望它有所帮助。