Prüfen, zahl bzw. buchstabe in EINER VARIABLEN
Hallo, wie kann ich prüfen, ob bei einer Variablen (Im format A1, oder D11, oder so) der 1. Buchstabe zwischen A-F und die Zahl zwischen 1 und 11 ist? In der Variablen ist KEIN Leerzeichen vorhanden. Geht das ? danke vielmals
willy |
Klaro geht das.
Kleine Ideensammlung: Prüfen, ob Variable eine Zahl ist (is_numeric). - wenn ja, dann kein Buchstabe vorhanden -> Fehleingabe - wenn nicht, dann $buchstabe=$variable[0]; (erstes Zeichen zu $buchstabe) unset($variable[0]); (erstes Zeichen entfernen) und $zahl=$variable; (Rest als Zahl betrachten) Kannst auch mit substr() arbeiten. Alles klarofix? |
Ich hab jetzt ehr an ne regular expression gedacht..
PHP-Code:
Also dann.. |
Wenn möglich, dann vermeidet man reguläre Ausdrücke. Solche Ausdrücke sind zwar fast alles, aber nicht schnell!
|
ja, das weiß ich, aber so ein kleines suchmuster wird die performance doch nicht sooo arg runterziehen oder ?
|
Weiß nicht. Wäre mal ein Benchmark wert: Eine Suchabfrage mit simplen Stringfunktionen und ein regulärer Ausdruck.
Ma schaun. Wenn mir mal wieder langweilig sein sollte. Heute nicht mehr... Wie auch immer: Ich bleibe dabei - reg. Expr. nur, wenn wirklich nötig. |
Jo.. natürlich bin ich auch nicht der Hardcore Regex User ;)
Aber hier kam mir spontan Regex ins Gedächtnis.. Ich hab nen "Benchmark" gemacht und mit Regex brauchts ca. 0.0002 sek. (der Wert ändert sich gar nicht, egal was ich eingebe ;)). PHP-Code:
Poste deinen Vorschlag und ich werd's bei mir testen ;) Würde mich nämlich echt interessieren, ob der Unterschied groß ist. cu |
Klatsch das mal rein:
PHP-Code:
Hab mal einen alten Benchmark umgeschrieben: PHP-Code:
|
ok, hab dein komplettes Skript übernommen:
1 Durchlauf: Durchschnitt 1: 2.7191E-005 Durchschnitt 2: 2.6151E-005 2 Durchlauf: Durchschnitt 1: 5.337E-005 Durchschnitt 2: 2.8938E-005 3 Durchlauf: Durchschnitt 1: 2.8677E-005 Durchschnitt 2: 3.1513E-005 4 Durchlauf: Durchschnitt 1: 3.1417E-005 Durchschnitt 2: 2.5938E-005 5 Durchlauf: Durchschnitt 1: 2.8465E-005 Durchschnitt 2: 3.5404E-005 6 Durchlauf: Durchschnitt 1: 3.3862E-005 Durchschnitt 2: 3.0071E-005 OK, so läufts bei mir.. im Übrigen weiß ich auch, dass Benchmarks öfters durchgeführt werden.. denke nicht, dass ich ein absoluter Anfänger in der Computerwelt bin, nur weil ich nicht 900 posts hab. |
Also kann man sagen, dass es bei dem Beispiel egal ist, ob manreg. Exp. oder Stringfunktionen nimmt. Letztere werde ich aber trotzdem bevorzugen. :)
Zitat:
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 17:16:34 Uhr. |
Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.