PHP: Für die Funktion empty ist das Zeichen 0 empty
Mike
- zur info
Moin @ all,
wie das Thema schon sagt: zur Info
Ich war beinahe am verzweifeln, da icg die Funktion (in PHP) empty falsch gedeutet hatte. Aber wer lesen kann ist klar im Vorteil.
Für mich war die Funktion "empty" eine Abfrage auf einen leeren String. Dann mußte ich feststellen das auch bei Eingabe von "0" die
funktion empty ein true zurück liefert. AUTSCH
Also, damit es Euch nicht auch so geht wie mir.
$x=0;
ergibt bei
if ( empty ($x) )
eine TRUE
0 = leer ( Und so steht es auch in der Anleitung )
Die Abfrage auf ein Formularfeld, wo auch 0 güötig ist abe nicht leer
muss also heißen:
if ( $x == '' )
FALSE
In diesem Sinne
Gruß
Mike
Hello,
das machen selbst teure Web-Agenturen falsch, die für die Regierung oder Wirtschaftsverbände Umfrageformulare herstellen. Das von Dir beabsichtigte Ergebnis bekommst Du eben nur mit
if(isset($var) and strlen(trim($var))>0)
denn meistens sind Leerzeichen oder Zeilenumbrüche doch auch keine gültige Eingabe
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Moin Tom,
das machen selbst teure Web-Agenturen falsch, die für die Regierung oder Wirtschaftsverbände Umfrageformulare herstellen. Das
so is das. Einen guten Programmierer zeichnet es aus, den DAU auf seinen Fehler aufmerksam zu machen und ihn auf das fehlerhafte Feld zu lenken.
Leider wird hier sehr schludrig gearbeitet (Faulheit?) und natürlich ist man als Programmierer "Betriebsblind"
Jedenfalls hatte mich die "empty Erkenntnis" Tage gekostet und ich hoffe der Beitrag kann jemandem im Archive helfen.
Gruß
Mike
Moin!
Ich war beinahe am verzweifeln, da icg die Funktion (in PHP) empty falsch gedeutet hatte. Aber wer lesen kann ist klar im Vorteil.
Richtig. Die Doku sagt:
"Diese Funktion liefert TRUE, wenn eine Variable nicht definiert, leer oder gleich 0 ist, ansonsten FALSE."
Die Abfrage auf ein Formularfeld, wo auch 0 güötig ist abe nicht leer
muss also heißen:if ( $x == '' )
empty hat außerdem den Nachteil, dass man es nur direkt auf Variablen anwenden kann, aber nicht auf Ausdrücke.
empty($var1.$var2) ist verboten.
- Sven Rautenberg
Moin Sven,
empty($var1.$var2) ist verboten.
Danke für deine Ergänzungen. Es ist unglaublich was man hier alles lernen kann ( immer noch ) und wer Google bedienen kann, hat schon gewonnen.
Gruß
Mike
PS: Sorry für die ersten Rechtschreibfehler, ich gelobe Bezerung :-)
empty($var1.$var2) ist verboten.
böse böse böse, warum?
btw das braucht eh keiner
Hello hm,
kennst Du die Gepflogenheiten hier zum Thema Begrüßung und Verabschiedung?
Die brauchen wir nämlich trotzdem ;-)
empty($var1.$var2) ist verboten.
böse böse böse, warum?
btw das braucht eh keiner
Wenn man eine Anzahl von Parametern hat, von denen keiner fehlen darf, dann ist es schon mal praktisch, alle auf einmal zu überprüfen. Wie würdest DU das dann machen?
Harzliche Grüße aus http://www.annerschbarrich.de
Tom