Frage
Ich möchte zählen mit 0 I bedeutet, wenn
$ x = 002 $ Y = 999
Jetzt möchte ich es von zählen, um die 00 zu halten.
for ( $i = $x ; $i <= $y; $i++ )
{
echo $i;
}
aber es echo - 002, 3, 4, 5
Ich will es halten zählen, indem die 00. als wie 005, 006, 007, 008, 009, 010, 011, 012.
Lösung
for ($i = $x ; $i <= $y; $i++)
{
printf('%03d', $i);
}
Andere Tipps
(s) printf ist dein Freund für diese, gibt es viele nützliche Beispiele für die manuelle -page, aber Sie würden wollen:
printf('%03d', $i);
Die Idee ist, dass Sie zählen es nicht so ist, zeigen Sie es gerade so. Ich hoffe, Sie verstehen, dass 00 nur gerade für die Präsentation ist. Prost.
Verwendung printf:
for ( $i = $x ; $i <= $y; $i++ ) {
printf("%03d", $i);
}
printf ( "% 03d", $ i);
Versuchen Zahlenformate mit
Siehe hier: http://us2.php.net /manual/en/function.number-format.php
Scrollen Sie einfach durch den Boden.
Mit freundlichen Grüßen
str_pad Methode:
echo str_pad($i, 3, '0', STR_PAD_LEFT);
Sie können nicht tun, wenn ich $ eine ganze Zahl ist. Das erste Mal, wenn Sie $ zuweisen ich es als eine Zeichenfolge gespeichert wird, nachdem Sie $ tun, um seine in eine ganze Zahl umgewandelt i ++.
Wenn Sie das Originalformat beibehalten müssen, behandeln $ i als String und tut alle Arithmetik auf $ benutzerdefinierte Funktionen i verwenden, nicht die Build-in Integer-Arithmetik.
Die einfachste Lösung ist i $ zu lassen eine ganze Zahl sein und prepend führende Nullen bei der Ausgabe $ i.