hallo Christoph,
Ja, so ein kompletter regulärer Ausdruck erscheint auch mir da unangemessen ;-)
/ASCII only!/
$string = "6foobar";
if((ord($string{0})-48)<10&&(ord($string{0})-48)>=0){
/* et is einer /
}
/ et is keiner */
Daraus schließe ich, dass den Ziffern 0 bis 9 die ASCII-Werte 48 bis 57 zugeordnet sind?
Und das ist jetzt eine weniger rechenleistungsaufwändigere Variante als die von André oder is\_numeric($string{0})?
> trim() ist übrigens falsch, da es um das erste Zeichen ging und niemand behauptet hat, das es kein Leerzeichen sein darf.
Da hast du Recht. Aber ich denke, die Wahrscheinlichkeit, dass das trim stört ist geringer als die Wahrscheinlichkeit, dass der Fragenstellende es benötigt, aber vergessen hat.
Mein $string ist jedoch schon vorher getrimt. ;)
gruß
duddle