web-dev-qa-db-fra.com

PHP vérifier si faux ou nul

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?

13
Harsha M V

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 .

9
deceze

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.

5
Rupesh Pawar

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.

  • vérifier faux: si ($ v === faux) 
  • check null: if (is_null ($ v))

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).

0
Allen

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';
}
?>
0
Naren Karthik