Maison >développement back-end >Problème PHP >Comment détecter si une variable est vide en php

Comment détecter si une variable est vide en php

silencement
silencementoriginal
2019-09-26 09:49:092399parcourir

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 = &#39;&#39;;
$a[&#39;c&#39;] = &#39;&#39;;
if (!isset($a)) echo &#39;$a 未被初始化&#39; . "";
if (!isset($b)) echo &#39;$b 未被初始化&#39; . "";
if (isset($a[&#39;c&#39;])) echo &#39;$a 已经被初始化&#39; . "";
// 显示结果为
// $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 = &#39;&#39;;
$c = array();
if (empty($a)) echo &#39;$a 为空&#39; . "";
if (empty($b)) echo &#39;$b 为空&#39; . "";
if (empty($c)) echo &#39;$c 为空&#39; . "";
if (empty($d)) echo &#39;$d 为空&#39; . "";
?>

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 &#39;$a 为空&#39; . "";
if ($b == null) echo &#39;$b 为空&#39; . "";
if ($c == null) echo &#39;$b 为空&#39; . "";
// 显示结果为
// $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 &#39;$a 为NULL&#39; . "";
if (is_null($b)) echo &#39;$b 为NULL&#39; . "";
if (is_null($c)) echo &#39;$c 为NULL&#39; . "";
// 显示结果为
// $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!

Déclaration:
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