我想以3位格式增加一个值。PHP - 增加一个值
例如:
$start_value = 000;
while() {
do something;
$start_value++;
}
这样,我有这样的结果:
$start_value = 000;
$start_value = 1;
$start_value = 2;
$start_value = 3;
等
,而不是'001', '002', '003'
我怎样才能做到这一点的结果?
我想以3位格式增加一个值。PHP - 增加一个值
例如:
$start_value = 000;
while() {
do something;
$start_value++;
}
这样,我有这样的结果:
$start_value = 000;
$start_value = 1;
$start_value = 2;
$start_value = 3;
等
,而不是'001', '002', '003'
我怎样才能做到这一点的结果?
您在这里犯了一个大错误。代码中的000
是八进制数。任何在许多编程语言中以0开头的文字数字都被认为是八进制文字。如果你想存储000,你需要一个字符串,而不是数字。
$start_value = "000";
while() {
do something;
$start_value = str_pad((int) $start_value++, 3 ,"0",STR_PAD_LEFT);
}
使用sprintf
你可以做到这一点:
echo sprintf("%03d", $start_value++) . "<br>";
希望这是你所追求的。
与您的代码实现它:
$start_value = 000;
while() {
do something;
$start_value = sprintf("%03d", $start_value++);
}
它是这样的。在PHP中,没有数据类型的概念,所有东西都是在运行时根据使用地点和使用方式确定的。
<?php
$start_value = 000;
while ($start_value < 10) {
//your logic goes here
$start_value++;
printf("[%03s]\n",$start_value);
}
?>
输出:[001] [002] [003] [004] [005] [006] [007] [008] [009] [010]
所以,你可以做所有的计算。如果你想打印这个值,你可以使用带格式说明符的printf。希望能帮助到你。