Schönen guten Tag Kai,
Durch die Verwendung von intval() in Verbindung mit Vergleichswerten ist preg_match komplett überflüssig, da ungültige Angaben von intval() zu 0 gewandelt werden und somit automatisch außerhalb des erlaubten Bereiches liegen.
das siehst Du falsch. Das preg_match _sehr wohl_ einen Sinn!
Wenn ich von einem User verlange, er soll eine ganze Zahl von 500 bis 9 Millionen eingeben, dann soll er das auch tun. Gibt er bei Deinem Code 512.4 ein (und das ist _keine_ ganze Zahl!), dann macht intval() ein 512 daraus und somit würde die Eingabe als gültig durchgehen. Sie ist es aber nicht und deshalb habe ich das preg_match dabei.
Dadurch sind auch nur jene Eingaben gültig, die ich vom User verlange/erwarte.
Dann kann man noch was für die bessere Verständlichkeit des Codes und des erlaubten Bereiches tun und statt > 499 bzw. < 9000001 jeweils >= 500 bzw. <= 9000000 schreiben.
Das ist subjektiv. Mir persönlich sagt meine Variante mehr zu.
Mit lieben Grüßen
H. Wolowitz
Gut, dann können wir die Zettel von den Laternen nehmen...