Maison >développement back-end >Problème PHP >Comment détecter si une variable est vide en php
Dans le développement de programmes, nous rencontrons de nombreux jugements. Parfois, lorsque nous devons juger si une variable est vide, isset(), empty() et is_null() sont toujours confus. , présentons leurs différences ci-dessous
1. isset, détermine si la variable a été initialisée
isset(), détermine si la variable a été définie, il ne déterminera pas si la variable est vide. . Et peut être utilisé pour déterminer si les éléments du tableau ont été définis
Description du code :
<?php $a = ''; $a['c'] = ''; if (!isset($a)) echo '$a 未被初始化' . ""; if (!isset($b)) echo '$b 未被初始化' . ""; if (isset($a['c'])) echo '$a 已经被初始化' . ""; // 显示结果为 // $b 未被初始化 // $a 已经被初始化 ?>
vide, détecte si la variable est "vide"
. empty(), any Une variable non initialisée, une variable avec une valeur de 0 ou false ou une chaîne vide "" ou null, un tableau vide ou un objet sans aucun attribut sera jugé comme vide()==true
Remarque 1 : les variables non initialisées peuvent également être détectées comme "vides" par vide
Remarque 2 : vide ne peut détecter que les variables, mais pas les instructions
Description du code :
<?php $a = 0; $b = ''; $c = array(); if (empty($a)) echo '$a 为空' . ""; if (empty($b)) echo '$b 为空' . ""; if (empty($c)) echo '$c 为空' . ""; if (empty($d)) echo '$d 为空' . ""; ?>
3. $a == null, déterminez si la variable est "vide"
Remarque : les variables et les tableaux vides avec une valeur de 0 ou false ou une chaîne vide "" ou null seront jugés comme nuls.
Remarque : La différence évidente avec vide est que $a == null signalera une erreur si la variable $a n'est pas initialisée.
Description du code :
<?php $a = 0; $b = array(); if ($a == null) echo '$a 为空' . ""; if ($b == null) echo '$b 为空' . ""; if ($c == null) echo '$b 为空' . ""; // 显示结果为 // $a 为空 // $b 为空 // Undefined variable: c ?>
4. is_null, détecte si la variable est "null"
is_null(), lorsque la variable se voit attribuer une valeur de "null", le résultat de la détection est vrai
Remarque 1 : null n'est pas sensible à la casse : $a = null ; $a = NULL ne fait aucune différence
Remarque 2 : Le résultat de la détection est uniquement lorsque la valeur de la variable est "null" est vrai, 0, chaîne vide, faux et tableau vide sont tous détectés comme faux
Remarque 3 : Lorsque la variable n'est pas initialisée, une erreur sera également signalée
Description du code :
<?php $a = null; $b = false; if (is_null($a)) echo '$a 为NULL' . ""; if (is_null($b)) echo '$b 为NULL' . ""; if (is_null($c)) echo '$c 为NULL' . ""; // 显示结果为 // $a 为NULL // Undefined variable: c ?>
5. $a === null, détecte si la variable est "null", et le type de la variable doit également être "null"
Remarque : Lorsqu'une variable se voit attribuer une valeur "null", le type de la variable doit également être Lorsqu'elle est également "null", le résultat de la détection est vrai
Remarque 1 : Lorsqu'elle est jugée être " null", il a le même effet que is_null
Remarque 2 : Lorsque la variable n'est pas initialisée, le programme également. Une erreur sera signalée
Résumé :
En PHP , "NULL" et "vide" sont deux concepts.
isset est principalement utilisé pour déterminer si une variable a été initialisée.
empty peut définir des variables avec les valeurs "false", "empty", "0", "NULL" et "non initialisé". Juger comme TRUE
is_null Juger uniquement les variables dont la valeur est "NULL" comme TRUE
$a == null Juger comme "false", "vide", "0", Les variables "NULL" " sont toutes jugées comme VRAI
$a === null. Seules les variables avec une valeur de "NULL" sont jugées comme VRAI
. Ainsi, lorsque nous jugeons si une variable est vraiment "NULL", utilisez principalement is_null pour éviter les interférences de valeurs telles que "false" et "0".
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!