Il existe les cinq méthodes suivantes en PHP pour détecter si une variable est vide. Alors, quelles sont les différences entre ces cinq méthodes ? Jetons un coup d’œil ensemble ci-dessous.
1. Fonction isset : déterminer si la variable a été initialisée
Explication : Elle ne détermine pas si la variable est vide, mais peut être utilisée pour déterminer si les éléments du tableau ont été défini.
Remarque : lorsque vous utilisez isset pour déterminer si un élément du tableau a été initialisé, il est environ 4 fois plus efficace que array_key_exists.
<?php //$a = ''; //$a = false; $a['c'] = ''; if (!isset($a)) echo '$a 未被初始化' . "<br/>"; if (!isset($b)) echo '$b 未被初始化' . "<br/>"; if (isset($a['c'])) echo '$a 已经被初始化' . "<br/>"; //结果 // $b 未被初始化 // $a 已经被初始化
Fonction Empty() : détecte si la variable est "vide"
Description : Toute variable non initialisée, la valeur est 0 ou false ou la chaîne vide "" ou les variables nulles, tableaux vides, objets sans aucune propriété, vide (variable) == 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 des variables, pas des instructions.
<?php $a = 0; $b = ''; $c = array(); if (empty($a)) echo '$a 为空' . "<br/>"; if (empty($b)) echo '$b 为空' . "<br/>"; if (empty($c)) echo '$c 为空' . "<br/>"; if (empty($d)) echo '$d 为空' . "<br/>"; //结果 // $a 为空 // $b 为空 // $c 为空 // $d 为空 var_dump(empty(null)); var_dump(empty(0)); var_dump(empty('')); var_dump(empty([])); //结果 // bool(true) // bool(true) // bool(true) // bool(true)
3. var == null Fonction : Déterminer si la variable est "vide"
Description : La valeur est 0 ou false ou une chaîne vide "" ou une variable nulle, Les tableaux et tableaux vides seront tous jugés comme nuls.
(Partage vidéo d'apprentissage : tutoriel vidéo php)
Remarque : La différence significative par rapport à vide est la suivante : lorsque la variable n'est pas initialisée, var == null signalera un erreur.
<?php $a = 0; $b = array(); if ($a == null) echo '$a 为空' . ""; if ($b == null) echo '$b 为空' . ""; if ($c == null) echo '$c 为空' . ""; // 显示结果为 // $a 为空 // $b 为空 // Undefined variable: c
4. Fonction is_null : détecte si la variable est "null"
Description : Lorsque la variable reçoit 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;a = NULL ne fait aucune différence.
Remarque 2 : Le résultat de la détection est vrai uniquement lorsque la valeur de la variable est "null". 0, la chaîne vide, false et le tableau vide sont tous détectés comme faux.
Remarque 3 : Lorsque la variable n'est pas initialisée, le programme signalera une erreur.
<?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.var === null Fonction : Vérifiez si la variable est "null", et le type de la variable doit également être "null"
Description : Lorsque la variable est affectée une valeur de "null" Lorsque et le type de la variable est également "null", le résultat de la détection est vrai.
*Remarque 1 : En jugeant "null", tous les égaux ont le même effet que is_null.
*Remarque 2 : Lorsque la variable n'est pas initialisée, le programme signalera une erreur.
Résumé :
En PHP, "NULL" et "empty" sont deux concepts.
isset est principalement utilisé pour déterminer si une variable a été initialisée.
empty peut juger les variables avec les valeurs "false", "vide", "0", "NULL" et "non initialisées" comme VRAI.
is_null évalue uniquement les variables avec une valeur de "NULL" comme VRAI.
var == null Juge les variables avec les valeurs "false", "null", "0" et "NULL" comme VRAI.
var === null Seules les variables avec une valeur de "NULL" sont jugées comme VRAIES.
Remarque : pour déterminer si une variable est vraiment "NULL", is_null est principalement utilisé pour éviter les interférences de "false", "0" et d'autres valeurs.
Recommandations associées : Tutoriel php
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!