Je me demande également comment vérifier si une variable est fausse/nulle lorsqu'elle est renvoyée par une fonction.
Quand utiliser empty () et quand utiliser isset () pour vérifier la condition?
Pour les retours de fonctions, vous n’utilisez ni isset
ni empty
, car ils ne fonctionnent que sur des variables et permettent simplement de tester des variables éventuellement non existantes sans provoquer d’erreurs.
Pour les retours de fonction, vérifier l'existence de variables est inutile, alors procédez comme suit:
if (!my_function()) {
// function returned a falsey value
}
Pour en savoir plus à ce sujet, voir Le guide définitif sur la version de PHP et vide .
Vérification de la variable (quelques exemples)
if(is_null($x) === true) // null
if($x === null) // null
if($x === false)
if(isset($x) === false) // variable undefined or null
if(empty($x) === true) // check if variable is empty (length of 0)
Isset () vérifie si une variable a une valeur comprenant (False, 0 ou Chaîne vide), mais pas NULL . Renvoie TRUE si var existe; FAUX sinon.
D'autre part, la fonction empty () vérifie si la variable a une valeur vide string vide, 0, NULL ou False. Renvoie FALSE si var a une valeur non vide et non nulle.
ISSET
vérifie si la variable a été définie. En d'autres termes, il vérifie si la variable est une valeur autre que NULL
ou not assigned a value
. ISSET renvoie VRAI si la variable existe et a une valeur autre que NULL. Cela signifie que les variables affectées "", 0, "0" ou FALSE sont définies et sont donc vraies pour ISSET.
EMPTY
vérifie si une variable est vide. Vide est interprété comme suit: "" (une chaîne vide), 0 (0 en tant qu'entier), 0.0 (0 en tant que float), "0" (0 en tant que chaîne), NULL, FALSE, array () (un tableau vide ) et "$ var;" (une variable déclarée, mais sans valeur dans une classe.
empty () est un mal.Il est lent et lorsque $ v appelle false, 0, '0', array (), '', il retournera true.Si vous avez besoin de ce type de vérification, vous pouvez utilisez if ($ v).
isset - Détermine si une variable est définie et n'est pas NULL
$a = "test";
$b = "anothertest";
var_dump(isset($a)); // TRUE
var_dump(isset($a, $b)); // TRUE
unset ($a);
var_dump(isset($a)); // FALSE
empty - Détermine si une variable est vide
<?php
$var = 0;
// Evaluates to true because $var is empty
if (empty($var)) {
echo '$var is either 0, empty, or not set at all';
}
// Evaluates as true because $var is set
if (isset($var)) {
echo '$var is set even though it is empty';
}
?>