2010-10-06 4 views
2

Я хотел бы увеличить значение в трехзначном формате.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 с спецификаторами формата. !! Надеюсь, поможет.

Смежные вопросы