Я хочу считать с 0. Я имею в виду, если
$ х = 002 $ y = 999
Теперь я хочу посчитать это, оставив 00.
for ( $i = $x ; $i <= $y; $i++ ) { echo $i; }
но это эхо - 002, 3, 4, 5
Я хочу, чтобы он считал по 00. как 005, 006, 007, 008, 009, 010, 011, 012.
for ($i = $x ; $i <= $y; $i++) { printf('%03d', $i); }
Идея в том, что ты не считаешь это так, ты просто показываешь это так. Я надеюсь, вы понимаете, что 00 только для презентации. Приветствия.
(s) printf - ваш друг для этого, на странице руководства есть много полезных примеров, но вы бы хотели:
printf('%03d', $i);
используйте printf:
for ( $i = $x ; $i <= $y; $i++ ) { printf("%03d", $i); }
printf ("% 03d", $ i);
1001 * попробовать *
printf('%03d', $i)
и ссылка на руководство
ура
str_pad метод:
echo str_pad($i, 3, '0', STR_PAD_LEFT);
Попробуйте использовать числовые форматы
См. Здесь: http://us2.php.net/manual/en/function.number-format.php
Просто прокрутите вниз.
С наилучшими пожеланиями
Вы не можете сделать это, если $ i является целым числом. Когда вы присваиваете $ i в первый раз, он сохраняется как строка, после того как вы выполните $ i ++, он преобразуется в целое число.
Если вы должны поддерживать исходный формат, обрабатывайте $ i как строку и выполняйте всю арифметику с $ i, используя пользовательские функции, а не целочисленную арифметику построения.
Самое простое решение - позволить $ i быть целым числом и добавлять начальные нули при выводе $ i.