Вопрос
Я хочу считать с 0.Я имею в виду, если
$x = 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);
}
Другие советы
(s) printf ваш друг для этого, есть много полезных примеров в руководстве , но вы бы хотели:
printf ('% 03d', $ i);
Идея в том, что вы не считаете это таким, вы просто показываете это так. Я надеюсь, вы понимаете, что 00 только для презентации. Приветствия.
используйте printf:
for ( $i = $x ; $i <= $y; $i++ ) {
printf("%03d", $i);
}
printf ("% 03d " ;, $ i);
Попробуйте использовать числовые форматы
См. здесь: http://us2.php.net /manual/en/function.number-format.php р>
Просто прокрутите вниз.
С наилучшими пожеланиями
str_pad метод:
echo str_pad($i, 3, '0', STR_PAD_LEFT);
Вы не можете сделать это, если $ i является целым числом. Когда вы присваиваете $ i в первый раз, он сохраняется как строка, а после того, как вы выполните $ i ++, он преобразуется в целое число.
Если вы должны поддерживать исходный формат, обрабатывайте $ i как строку и выполняйте всю арифметику с $ i, используя пользовательские функции, а не встроенную целочисленную арифметику.
Самое простое решение - позволить $ i быть целым числом и добавлять начальные нули при выводе $ i.