$i++ immer dreistellig. sprintf funktioniert nicht

Hallo,

kann mir jemand helfen, dass der Zähler, der bis in den dreistelligen Bereich geht, auch im ein- und zweistelligen Bereich dreistellig mit voranstehenden Nullen ist?

Ich habe sprintf() gefunden, welches nicht funktioniert hat.

Ich möchte Verzeichnisse erstellen, die so aussehen sollen:
001
010
100

[PHP]$i = 0;
while($i < 155) {
$i++;
//sprintf(‚%03d‘, $i);

if(!is_dir($i)) mkdir($i);
if(!is_dir(„$i/a“)) mkdir(„$i/a“);
if(!is_dir(„$i/b“)) mkdir(„$i/b“);
if(!is_dir(„$i/c“)) mkdir(„$i/c“);

}
[/PHP]Ich glaube, dass das auch im Zusammenhang von „155“ nicht ganz funktioniert.
sprintf habe ich auch vor der while Schleife probiert.
Das würde ja dann so aussehen:

[PHP]while(005 < 155) { }[/PHP]

Edit:
Habe es mal vorläufig so gemacht:
[PHP]
if($i < 10) $i = „00“.$i;
if($i >= 10 && $i < 100) $i = „0“.$i;
[/PHP]

Hier: strpad()

So wie du sprintf benutzt hast, war es auch falsch:
[PHP]for ($i = 0; $i < 155; $i++) {
$folder_name = sprintf(‚%03d‘, $i);

if(!is_dir($folder_name)) mkdir($folder_name);
if(!is_dir("$folder_name/a")) mkdir("$folder_name/a");
if(!is_dir("$folder_name/b")) mkdir("$folder_name/b");
if(!is_dir("$folder_name/c")) mkdir("$folder_name/c");

} [/PHP]
ansonsten gibt es noch number_format().

Ah. Danke euch beiden.
@ crash: super!