Maison >développement back-end >tutoriel php >Explication détaillée de l'utilisation et des différences de empty,isset,is_null en PHP
J'ai récemment lu le code source du projet et j'ai découvert que les fonctions vide, isset et is_null (fonctionnalités du langage) sont utilisées sans discernement dans le code source. À certains endroits, il est évident qu'il y a des pièges. Ne pas comprendre correctement ces éléments peut créer des pièges pour le développement ultérieur.
1.Utilisation vide
bool vide (var mixte)
Si var est une valeur non vide ou non nulle, vide() renvoie FAUX . En d'autres termes, "", 0, "0", NULL, FALSE, array(), var $var; et les objets sans aucun attribut seront considérés comme vides, TRUE
<.>2.isset()
bool isset ( Mixed var [, Mixed var [, ...]])
Renvoie VRAI si var existe, sinon renvoie FAUX.
Si une variable a été libérée en utilisant unset(), elle ne sera plus isset(). Si vous utilisez isset() pour tester une variable définie sur NULL, elle renverra FALSE. Notez également qu'un octet NULL ("0") n'est pas équivalent à la constante NULL de PHP.
$a = 0; isset($a) && is_numeric($a) === true(2) Différence ''
$a = ''; empty($a) && $a=== ''(3) Différence entre null
$a = null; is_null($a);De plus, lors de la soumission d'un formulaire, vous devrez peut-être souvent vérifier si une variable existe. Si $_REQUEST[ 'status'] = 0; Utilisez vide($_REQUEST['status']) pour renvoyer vrai, mais utilisez isset($_REQUEST['status']) pour juger qu'il n'est pas vide
3. is_null( ):
Lorsque les paramètres remplissent les trois conditions suivantes , is_null() renverra TRUE, les autres situations sont FALSE
1. Il est attribué NULL
2 Il n'a pas reçu de valeur
3. Après unset() une variable, cela signifie qu'il n'y a pas de valeur. Définition
Regardons quelques exemples :
$myvar = NULL; var_dump(is_null($myvar)); // TRUE $myvar1; var_dump(is_null($myvar1)); // TRUE Notice: Undefined variable $num = 520; unset($num); var_dump(is_null($num)); //TRUE Notice: Undefined variable var_dump(is_null($some_undefined_var)); //TRUE Notice: Undefined variable $myvar = 0; is_null($myvar); // FALSE $myvar = FALSE; is_null($myvar); // FALSE $myvar = ''; is_null($myvar); // FALSE<.>
Ce qui précède représente l'intégralité du contenu de cet article, j'espère qu'il sera utile à l'étude de chacun.
Recommandations associées :
isset() et la différence entre vide()
isset et vide en php
isset( ) est plus rapide que strlen()
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!