Sven Rautenberg: führende Null wird beim rechnen entfernt?

Beitrag lesen

Moin!

Hallo,
ich will ein Script schreiben welches mir Bilder aus einem Ordner ausliest. Nur haben die Bilder immer eine 4stellige Nummer, beginnend mit 0001.
Nun wird aber beim erhöhen der Nummer die führende Null entfernt. Kann man das verhindern?

Hi,
das ist der Nachteil von Variants.
Du könntest die Nullen recht einfach selbst hinzufügen

function addLeadingZeros($number, $digits){
 for($ii=strlen($number) ; $ii<$digits; $ii++) {$number="0".$number;}
 return $number;
}

echo addLeadingZeros(12,4);

Dieses Problem ist so alt, wie die computerisierte Menschheit. Und deshalb hat man es mit einer Standardfunktion schon lange gelöst (die steht übrigens in sehr vielen Programmiersprachen unter diesem Namen zur Verfügung:

sprintf bzw. printf.

Für PHP nachzulesen unter: http://de.php.net/manual/en/function.sprintf.php

Man muß sich also nichts eigenes, möglicherweise auch fehleranfälliges, selbst ausdenken, sondern definiert einfach einen Formatierungsstring, der angibt, wie die als weiteres übergebenen Werte dort eingefügt werden sollen - und fertig.

Für mit Nullen aufgefüllte Integerzahlen gibt es als Beispiel 5 eine Datumsausgabe.

Im übrigen empfehle ich zum Formatieren von Zahlen auch gerne number_format(). Aber das fügt keine Nullen vorne vor.

- Sven Rautenberg

--
"Habe den Mut, dich deines eigenen Verstandes zu bedienen!" (Immanuel Kant)