Werte, die in $_GET
und $_POST
gespeichert sind, können nur Zeichenfolgen oder Arrays sein, sofern sie nicht explizit zur Laufzeit festgelegt wurden. Wenn Sie eine Abfragezeichenfolge von query=string
haben, ist der Wert "string"
, wenn Sie stattdessen verwenden: query=null
wird der Wert "null"
. Beachten Sie, dass es sich daher um eine Zeichenfolge handelt. Wenn Sie senden: query=
, wird der Wert ""
oder die leere Zeichenfolge sein. Beachten Sie die differences zwischen isset
und empty
. isset
wird wahr, wenn der Wert nicht null ist, während empty
wird True sein, wenn der Wert false
auswertet. Daher wird ""
für sowohlisset
als auch empty
wahr sein.
Wenn Sie nur Parameter, wenn eine Abfrage-String überprüfen möchten auf den String-Wert von "null"
eingestellt wurde, können Sie einfach $_GET['query']=='null'
überprüfen (Sie können den Fall der Zeichen vor der Prüfung einzustellen)
+1! Richtige Antwort, aber Sie brauchen 'isset()' nicht, wenn Sie 'empty()' verwenden, da 'empty()' 'isset()' impliziert. Dies ist besonders relevant, wenn '! Empty()' verwendet wird. Und Sie sollten wahrscheinlich eine explizite Antwort auf den zweiten Teil der Frage hinzufügen. – jwueller
@elusive, Wenn Sie für eine Variable, die nicht gesetzt ist, leer aufrufen, erhalten Sie ein E_WARNING. –
@Byron Whitlock: Ich denke, das ist nicht korrekt. Der Dokumentstatus _ "empty() ist das Gegenteil von (boolean) var, außer dass keine Warnung generiert wird, wenn die Variable nicht gesetzt ist." _. – jwueller