Laufende Nummern und Texte auf eine bestimmte Größe erweitern

Oft werden Schleifen oder ähnliche Mittel dazu benutzt, um z.B. Kunden- oder Artikelnummern mit Nullen (meist führend) oder anderen Texten zu erweitern.
Resultierend hieraus finden sich in vielen PHP-Quelltexten je nach Anwendungsgebiet hunderte Schleifen oder selbst gebaute Funktionen; da dies jedoch nicht nötig ist, möchte ich hier kurz aufzeigen, wie dies direkt in PHP funktioniert.
Schritt 1:
In diesem Beispiel besitzen wir ein PHP-Script mit Datenbankanbindung. In der Datenbank befindet sich eine Tabelle mit Bestellungen.
Laut Vorgabe soll die Bestellnummer immer 12-stellig sein und sich aus der laufenden Nummer der Tabelleneinträge (index, auto_increment) sowie führenden Nullen zusammen setzen.
Schritt 2:
Zur Umsetzung kommt hier in PHP die Funktion str_pad() zum Einsatz.
Der Aufbau der Funktion in PHP ist wie folgt:
string str_pad ($string_der_erweitert_werden_soll, anzahl_der_stellen, $string_der_angefügt_werden_soll, [optional_wo_soll_er_angfügt_werden]);
Für unser Beispiel würde dies wie folgt aussehen:
<?php $laufende_nummer = "12345678"; // ausgelesen aus Tabelle $laufende_nummer_format = str_pad($laufende_nummer , 12 , "0", STR_PAD_LEFT); echo $laufende_nummer . " <br />" . $laufende_nummer_format; php?>Lässt man "STR_PAD_LEFT" weg, wird im Standard nach rechts erweitert. Optionen sind: STR_PAD_RIGHT, (standard) Erweiterung nach rechts STR_PAD_LEFT, Erweiterung nach links STR_PAD_BOTH, Erweiterung im Gleichen nach rechts und links Schritt 3:
Ausgabe:
12345678
000012345678

Passend zum Inhalt empfehlen wir:
PHP Tutorial – objektorientierte Programmierung: Grundlagen & Praxis
Habe auch mehr erwartet. Zumal eine derartige Funktion bei php.net nachgelesen werden kann. Neben str_pad(); könnte beispielsweise auch number_format(); angewendet werden.
5 Punkte für nichts verschenkt. Das Tutorial ist nicht sehr Hilfreich.
Hatte mir auch mehr erwartet.. schade. Trotzdem gut (:
Da hätte ich aber mehr erwartet. 3 Punkte verschenkt...
gut und einfach erklärt, danke
Super, vielen dank. Das ist ja mal richtig einfach...
prima, kurz und knapp
Wenn jemand weiß wie ich das hinbekomme das der nicht den Code - Bereich soweit zieht. Bitte melden danke :(
Vielen Dank, wirklich hilfreich;)
So etwas kann man immer mal gebrauchen!
(Ist der Fehler nur bei mir, oder hast Du das Tutorial nicht richtig formatiert? Bei mir wird alles bis zur Überschrift "Schritt 3" noch als Code ausgegeben. Wenn es ein Fehler ist hätte da stellamarina auch beim überprüfen der RS darauf stoßen können.)
hey, das ist mal gut zu wissen, wie das geht!!!
Das schöne ist, dass es kein Code ist der über 100 Zeilen geht!
Gruß
ha! und ich habe immer erst mit 10000 addiert und dann mit substr () die 1 abgeschnitten. danke das du mit eine elegantere moeglichkeit gezeigt hast.
und ich finde die erklaerung klasse. du hast nicht einfach hingekritzelt wie das geht, sondern auch die ganze funktion in ihrer schreibweise und einem anschaulichen beispielcode erklaert.
mach ruhig noch mehr tutorials ; -)