webentwicklung-frage-antwort-db.com.de

Wie überprüfe ich, ob $ _GET leer ist?

So prüfen Sie, ob $_GET ist leer?

52
Vamsi Krishna B

Du hast es selbst gesagt, überprüfe, ob es empty ist:

if (empty($_GET)) {
    // no data passed by get
}

Sehen Sie, PHP ist so einfach. Sie können einfach schreiben, was Sie denken;)

Diese Methode ist ziemlich sicher. !$_GET könnte Ihnen eine undefinierte Variable E_NOTICE geben, wenn $_GET war nicht gesetzt (nicht wahrscheinlich, aber möglich).

117
NikiC

ich denke, der einfachste Weg, der keine Bediener erfordert, ist

if($_GET){
//do something if $_GET is set 
} 
if(!$_GET){
//do something if $_GET is NOT set 
} 
12
sherilyn

Um hier ein wenig Abwechslung zu bieten: Sie könnten nachsehen

if ($_SERVER["QUERY_STRING"] == null)

es ist völlig identisch mit dem Testen von $_GET.

10
Pekka 웃
<?php
if (!isset($_GET) || empty($_GET))
{
    // do stuff here
}
7
john010117
if (!$_GET) echo "empty";

warum brauchst du so eine überprüfung?

lol
Ihr seid zu direkt gesinnt.
nicht als Beleidigung, aber manchmal überhaupt nicht bedacht
$ _ GET ist eine ganz besondere Variable, nicht wie andere.
soll immer gesetzt sein. Es ist nicht erforderlich, es als andere Variablen zu behandeln. wenn $ _GET nicht gesetzt ist und erwartet wird - ist es Notfall case und das ist, wofür der Hinweis "Undefinierte Variable" erfunden wurde

4

Einfach.

if (empty($_GET)) {
    // $_GET is empty
}
3
Martin Bean

Ich würde die folgende if-Anweisung verwenden, da sie leichter zu lesen ist (und in Zukunft geändert werden kann)


if(!isset($_GET) || !is_array($_GET) || count($_GET)==0) {
   // empty, let's make sure it's an empty array for further reference
   $_GET=array();
   // or unset it 
   // or set it to null
   // etc...
}
2
vlad b.

Hier sind 3 verschiedene Methoden, um dies zu überprüfen

<?php
//Method 1
if(!empty($_GET))
echo "exist";
else
echo "do not exist";
//Method 2
echo "<br>";
if($_GET)
echo "exist";
else
echo "do not exist";
//Method 3
if(count($_GET))
echo "exist";
else
echo "do not exist";
?>
2
user2541787