Je veux vérifier si le paramètre app
existe dans l'URL, mais n'a aucune valeur.
Exemple:
my_url.php?app
J'ai essayé isset()
et empty()
, mais cela ne fonctionne pas. Je l’ai déjà vu et j’ai oublié comment.
Vide est correct. Vous voulez utiliser les deux est défini et vide ensemble
if(isset($_GET['app']) && !empty($_GET['app'])){
echo "App = ".$_GET['app'];
} else {
echo "App is empty";
}
empty
devrait fonctionner (if(empty($_GET[var]))...
) car il vérifie les éléments suivants:
Les éléments suivants sont considérés comme vides:
"" (une chaîne vide) 0 (0 comme un entier) 0.0 (0 comme un flottant) "0" (0 comme une chaîne) NULL FALSE Array () (un tableau vide) $ Var; (une variable déclarée, mais sans valeur)
Voici vos alternatives:
is_null
- Détermine si une variable est NULL
if(is_null($_GET[var])) ...
defined
- Vérifie si une constante nommée donnée existe
if(defined($_GET[var])) ...
if( isset($_GET['app']) && $_GET['app'] == "")
{
}
Vous pouvez simplement vérifier cela par array_key_exists('param', $_GET);
.
Imaginez que ceci soit votre URL: http://example.com/file.php?param
. Il a le paramètre de requête param
, mais il n'a pas de valeur. Donc, sa valeur serait null
en fait.
array_key_exists('param', $_GET);
renvoie true
si param
existe; retourne false
s'il n'existe pas du tout.