Der Martin: Erstes Zeichen (Zahl) in einem String prüfen ob 0

Beitrag lesen

Hallo,

Sehr geehrte Damen und Herren,

du liebe Güte, warum so förmlich?

in einem String existieren nur Zahlen.

Zahlen oder Ziffern?

Nun möchte ich das erste Zeichen, also die allererste Zahl, prüfen ob es sich hierbei um eine vorangestellte 0 handelt.

Ist das die ganze Anforderung? Abfragen, ob das erste Zeichen eines String die Ziffer 0 ist?

Beispiele:
"1"; // Prüfung und Echo Ausgabe: True, keine vorangestellte 0 gefunden!
"10"; // Prüfung und Echo Ausgabe: True, keine vorangestellte 0 gefunden!
"10000000000000000000"; // Prüfung und Echo Ausgabe: True, keine vorangestellte 0 gefunden!
"12345000678900000000"; // Prüfung und Echo Ausgabe: True, keine vorangestellte 0 gefunden!
"01"; // Prüfung und Echo Ausgabe: False, vorangestellte 0 gefunden!
"00000000010000000001"; // Prüfung und Echo Ausgabe: False, vorangestellte 0 gefunden!

Okay, also abfragen, ob das erste Zeichen NICHT die Ziffer 0 ist.

Wäre für die suche auf das erste Zeichen die Funktion strpos richtig?

Eigentlich nicht. Damit fragst du ab, ob ein bestimmtes Zeichen überhaupt im String vorkommt, und wenn ja, an welcher Stelle. Es geht viel einfacher - PHP kann auf Strings auch wie auf ein Array zugreifen, die einzelnen Zeichen im String sind dann quasi die Arrayelemente. Also:

if ($string[0]!='0')  
 { echo 'keine vorangestellte Null';  
 }

Die Abfrage ist allerdings "stur", d.h. wenn der String mit einem Leerzeichen beginnt und dann erst die führende Null folgt, wird das als "keine führende Null" erkannt.

So long,
 Martin

--
Der Stress von heute ist die gute alte Zeit von morgen.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(