Aus einer 1 eine 01 machen?

Don Stefano

Erfahrenes Mitglied
Hallo zusammen,

wie kann man denn mittels php eine Variable, die ganze Zahlen enthält (und zwar zwischen 0 und 60) sofern sie nur aus einer Ziffer besteht in zwei Ziffern mit einer Null vorweg umwandeln ?

Bsp:
Wenn der Wert der Variablen $zahl zwischen 0 und 9 liegt, dann möchte ich auf dem Bildschirm nich 0, 1, 2, ... ausgeben sondern 00, 01, 02 ...

Leider finde ich dazu weder eine mathematische noch eine Variablenfunktion.


Ich hatte an soetwas in der folgenden Art gedacht:

PHP:
if $zahl <=9 {
  $zahl = 0'.$zahl.';
  }
aber das klappt leider nicht.

Wer weiß wie es geht ?

Vielen Dank
Don
 
Zuletzt bearbeitet:
PHP:
if(preg_match("/^[0-9]$/",$zahl) {
    $zahl = "0".$zahl;
}


Deine Methode geht auch, nur sollte die Neudefinierung etwas anders aussehen. Du hast die Anführungszeichen falsch gesetzt.
 
Zuletzt bearbeitet:
Wie müßte die Syntax denn bei meiner Variante richtig lauten ?

Ich probiere daran jetzt schon ewig herum und erhalte immer die Meldung:

HTML:
Parse error: syntax error, unexpected T_VARIABLE, expecting '(' in C:\xampp\htdocs\don4\vorgabeint.php on line 63
Line 63 ist dabei die Zeile mit der If Abfrage.

Ich kriegs irgendwie nicht hin.
 
KristophS hat Recht. Meine Variante müsste dann so aussehen:

PHP:
if(preg_match("/^[0-9]$/",$zahl) {
    $zahl = 0.$zahl;
}

Sonst wird die Zahl zu einem String, nicht sehr funktional. ;)

SilentWarrior, inwiefern?
 
Sebastian Wramba hat gesagt.:
KristophS hat Recht. Meine Variante müsste dann so aussehen:

PHP:
if(preg_match("/^[0-9]$/",$zahl) {
    $zahl = 0.$zahl;
}
Ich bezweifle, dass das funktioniert...

Wie auch schon RosaElefäntchen32178 (:p) würde ich hier zu [phpf]sprintf[/phpf] raten:
PHP:
$zahl = sprintf('%02d', $zahl);
 
RosaElefäntchen32178
Heh, den hatte ich ja beinahe schon wieder vergessen. Danke, dass du mich dran erinnerst. ;) Und damit es jetzt jeder weiss, steht es auch unter meinem Namen. :D

Sebastian: Wenn schon mit RegEx arbeiten, dann lieber gleich [phpf]preg_replace[/phpf] verwenden, da spart man sich nämlich die if-Abfrage.
 
Sebastian Wramba hat gesagt.:
KristophS hat Recht. Meine Variante müsste dann so aussehen:

PHP:
if(preg_match("/^[0-9]$/",$zahl) {
    $zahl = 0.$zahl;
}
Ich bin mir nicht sicher (Mathematik ist schon laaaaaaaaaange her ;-)), aber sollten, wenn 2 runde Klammern geöffnet werden, auch 2 runde Klammern geschlossen werden?
PHP:
if(preg_match("/^[0-9]$/",$zahl)) {
    $zahl = 0.$zahl;
}


Der Doc!
 
Zurück