isnummeric Return

Hallo Habo, komme gerade bei einer kleinen Funktion nicht weiter. Irgendwie kommt PHP mit dem return isnummeric($varibel); nicht ganz klar.
Habt ihr irgendwelche anderen Lösungsansätze parat?

PHP:
  // PLZ prüfen
     public static function checkPLZ($Plz_check)
    {    
         	return is_nummeric($Plz_check);
     }

PHP:
 if(NPSecurityCheck::checkPLZ($_POST['plz']) == true)
 		 {
 		 	echo "jooo";
 		 }
 		 
 		 else
 		 {
 		 	echo "nooo";
 		 }

Parse error: syntax error, unexpected T_RETURN in /var/www/*/*/*/*/*.php on line 53
Die Zeile mit dem Return halt.

LG
 
ich seh zwar gerade keinen Fehler, aber ich würde ne Postleitzahl ein wenig anders prüfen:
ne PLZ hat doch immer 5 Ziffern (jedenfalls in Deutschland)
da kannst du doch so abfragen:
PHP:
<?
public static function check_plz($plz)
{
  return preg_match("/^[0-9]{5}$/",$plz);
}
?>
 
preg_match gibt aber kein true oder false zurück oder irre ich mich?

Die Fehlermeldung ist mit preg_match überigens genau die gleiche wie mit is_nummeric.
PHP kommt irgendwie nicht klar damit, sowas direkt mit return auszuführen oder?
 
Hallo,
also:
1. Es heißt is_numeric
2. PHP hat keine Probleme mit der Rückgabe, funktioniert alles einwandfrei. Denke mal es liegt eher an deinem Klassenkonstrukt oder so, da folgendes wunderbar klappt
PHP:
<?php // PLZ prüfen
    function checkPLZ($Plz_check)
    {
             return is_numeric($Plz_check);
     }

    var_dump(checkPLZ("1234"));
    ?>
 
Original von weau
preg_match gibt aber kein true oder false zurück oder irre ich mich?

preg_match gibt
  • false im Fehler-Fall zurück
  • 0 , wenn keine Übereinstimmung
  • 1 , bei mind. einer Übereinstimmung

und da "0" ebenso als FALSE gewertet wird und !=0 als TRUE, kannst du dies auch wunderbar nutzen und damit die Such-Kriterien viel genauer festlegen als nur "ist der Wert nummerisch?"


und ich bin ebenfalls der Meinung, dass dein Fehler irgendwo anders in deiner Klasse stecken muss.

Falls der Code nicht zu viel Geheimes enthält, könntest du vieleicht mal den kompletten Code posten, sonst kann dir hier sicherlich keiner weiterhelfen
 
Zurück
Oben