web-dev-qa-db-fra.com

Comment vérifier si $ _GET est vide?

Comment vérifier si $_GET est vide?

52
Vamsi Krishna B

Vous l'avez dit vous-même, vérifiez que c'est empty :

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

Voir, PHP est si simple. Vous pouvez simplement écrire ce que vous pensez;)

Cette méthode est assez sécurisée. !$_GET pourrait vous donner une variable non définie E_NOTICE si $_GET était non défini (non probable, mais possible).

117
NikiC

je suppose que la manière la plus simple qui ne nécessite aucun opérateur est

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

Juste pour fournir une variation ici: vous pouvez vérifier

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

c'est complètement identique à tester $_GET.

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

pourquoi avez-vous besoin d'une telle vérification?

lol
Vous êtes trop direct.
ne soyez pas offensé mais ne vous inquiétez pas du tout
$ _ GET est une variable très spéciale, pas comme les autres.
il est supposé être toujours réglé. pas besoin de le traiter comme d'autres variables. quand $ _GET n'est pas défini et qu'il est attendu - c'est cas d'urgence et c'est ce pour quoi la "variable indéfinie" a été inventée

4
Your Common Sense

Facile.

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

J'utiliserais l'instruction if suivante car il est plus facile à lire (et à modifier à l'avenir)


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.

Voici 3 méthodes différentes pour vérifier cela

<?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