Überprüfen auf null und fehlende Abfrage-String-Parameter in PHP
-
09-10-2019 - |
Frage
Ich möchte zwischen den bestehenden Query-String-Parameter auf null unterscheiden zu können, und fehlende Parameter. So sind die Teile der Frage sind:
- Wie kann ich, wenn ein Parameter überprüfen existiert in dem Query-String
- Was ist die etablierte Methode einen Nullwert in einer Abfragezeichenfolge für das Bestehen? (Zum Beispiel param = null oder param = (nichts))
Danke
Andere Tipps
oder benutzen array_key_exists
:
if(array_key_exists("myParam", $_GET)) {
}
Ich habe noch nie auf ‚Konventionen‘ scharf gewesen für leere Werte an den Server zu übergeben. - Ich bin es gewohnt, auf das Vorhandensein von Variablen zu testen und ihnen dann Trimmen und Testen für Leere, zum Beispiel
gespeicherten Werte in $_GET
und $_POST
können nur Strings oder Arrays sein, sofern nicht explizit zur Laufzeit festgelegt. Wenn Sie eine Abfrage-String von query=string
haben, ist der Wert "string"
wenn Sie stattdessen verwenden: query=null
der Wert "null"
sein wird. Beachten Sie, dass es dafür eine Zeichenfolge ist.
Wenn Sie senden: query=
, wird der Wert ""
oder die leere Zeichenkette sein. Beachten Sie die Unterschiede zwischen isset
und empty
. isset
wird wahr, wenn der Wert nicht null ist, während empty
wahr wird, wenn der Wert auswertet zu false
. Dafür ""
wird für beide isset
und empty
wahr sein.
Wenn Sie wollen einfach nur überprüfen, ob eine Abfrage-String-Parameter 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)
Mit einer if-Anweisung statt zwei:
if ((isset($_REQUEST['name'])) && (!empty($_REQUEST['name'])))
{
$name= $_REQUEST['name'];
}