Utilisation et différences de empty,isset,is_null en PHP

高洛峰
Libérer: 2023-03-05 21:50:02
original
1399 Les gens l'ont consulté

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

est renvoyé

<.>2.isset()

isset -- Vérifiez si la variable est définie


Description

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.

Remarque : si la variable n'existe pas, ni isset() ni empty() ne signaleront une erreur ; is_null(), is_numeric() signalera une erreur

Comment distinguer [0 ,'' Dans le tableau suivant ,null] Trois éléments ? (1) Différence 0 :

$a = 0;
isset($a) && is_numeric($a) === true
Copier après la connexion

(2) Différence ''

$a = &#39;&#39;;
empty($a) && $a=== &#39;&#39;
Copier après la connexion

(3) Différence entre null

$a = null;
is_null($a);
Copier après la connexion

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( ):

bool is_null (mixed $var) (Définition de la fonction dans le document officiel php.net)

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 = &#39;&#39;; is_null($myvar);  // FALSE
Copier après la connexion

Plus articles liés à l'utilisation et aux différences de vide, isset, is_null en PHP Veuillez faire attention au site Web chinois de PHP !

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal