Если мой цикл выполняется 3 раза, а затем выход 0001,2,3
, но мне нужноLoop Удаляет ноль перед Integer
0001
0002
0003
Как получить этот вывод?
$i='0001';
foreach($test as $rows){
echo $i;
echo '<br/>';
$i++;
}
Если мой цикл выполняется 3 раза, а затем выход 0001,2,3
, но мне нужноLoop Удаляет ноль перед Integer
0001
0002
0003
Как получить этот вывод?
$i='0001';
foreach($test as $rows){
echo $i;
echo '<br/>';
$i++;
}
Вы можете использовать str_pad()
$i = "0001";
for($j=0;$j<1000;$j++) {
echo str_pad($i++, 4, '0', STR_PAD_LEFT);
echo "<br/>";
}
Использование printf
с отступа спецификатора, например:
$test = range(1,11);
$i = 0;
foreach ($test as $rows) {
printf("%04d<br/>\n", ++$i);
}
Выходной
0001<br/>
0002<br/>
0003<br/>
0004<br/>
0005<br/>
0006<br/>
0007<br/>
0008<br/>
0009<br/>
0010<br/>
0011<br/>
В этом примере 04
является заполнение спецификатор означает, что число (d
) дополняется максимум 4 нулями.
Как бы то ни было, я бы сказал. –
Вы можете обмануть немного,
$i = "1";
$y = "000"; //Added this
while ($i < 4){
echo $y . $i;
$i++;
}
В основном вы вторят 000 перед номером каждый раз.
хорошо .. если цикл работает более чем в 9 раз, результат станет чем-то вроде «00010», который, вероятно, не соответствует требованиям OP. Ответ Русланса, вероятно, лучше подходит для нужд ОП. Редактировать: хорошо, я только что понял, что ответ Руслана также выведет 00010. (edit2: не после его редактирования) – Cashbee
if ($ i> = 10) {Сделайте что-нибудь}. Но u'r, вероятно, правильно :) – Mitch
Не отличное решение. –
начинаются с '$ я = 1', ** ** тогда вы можете добавить ведущие нули, если вы хотите отобразить их. – Federkun