2010-10-06 82 views
2

我想以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

您在這裏犯了一個大錯誤。代碼中的000是八進制數。任何在許多編程語言中以0開頭的文字數字都被認爲是八進制文字。如果你想存儲000,你需要一個字符串,而不是數字。

$start_value = "000"; 
while() { 
    do something; 
    $start_value = str_pad((int) $start_value++, 3 ,"0",STR_PAD_LEFT); 
} 
9

使用sprintf你可以做到這一點:

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

希望這是你所追求的。

與您的代碼實現它:

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

它是這樣的。在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。希望能幫助到你。