我想以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。希望能幫助到你。