Dans la programmation PHP, IS_NULL et VIDE sont deux fonctions couramment utilisées qui sont utilisées pour juger l'état des variables, mais leurs fonctions sont évidemment différentes de celles d'utilisation. Cet article comparera ces deux fonctions en détail pour vous aider à comprendre leurs différences et à les utiliser raisonnablement dans le développement réel.
is_null ($ var)
Déterminez si la variable est nul . Si la valeur de la variable est strictement nulle , renvoyez vrai , sinon faux .
vide ($ var)
Déterminez si la variable est vide. Le "vide" ici est relativement large. En plus de NULL , il comprend également False et vide String "" , 0 , "0" , vide Array [] et d'autres situations. Renvoie vrai si la valeur de la variable est considérée comme "vide", sinon renvoyez false .
Articles de comparaison | is_null | vide |
---|---|---|
Contenu du jugement | Déterminez seulement s'il est nul | Déterminez si la variable est vide ( null , false , 0 , chaîne vide, tableau vide, etc.) |
La variable est-elle déclarée? | La variable doit être déclarée, sinon une erreur sera signalée ou un message sera signalé. | Aucune erreur ne sera signalée lorsque la variable n'est pas déclarée et qu'elle sera renvoyée directement . |
Scénarios applicables | Il faut juger strictement si la variable est nul | Déterminez si la variable est "dénuée de sens" ou "nul" |
Exemple de résultats | is_null (0) renvoie faux | vide (0) Renvoie True |
<?php
$var1 = null;
$var2 = 0;
$var3 = "";
$var4 = false;
$var5 = [];
var_dump(is_null($var1)); // true
var_dump(empty($var1)); // true
var_dump(is_null($var2)); // false
var_dump(empty($var2)); // true
var_dump(is_null($var3)); // false
var_dump(empty($var3)); // true
var_dump(is_null($var4)); // false
var_dump(empty($var4)); // true
var_dump(is_null($var5)); // false
var_dump(empty($var5)); // true
// Le cas où la variable n'est pas définie
var_dump(empty($undefined_var)); // true
// var_dump(is_null($undefined_var)); // Rapportera une erreur:Variables non définies
?>
Gestion des variables non définies <br> Lorsque vous utilisez vide pour vérifier que les variables non définies ne seront pas signalées, il convient de porter des jugements de "valeur nulle" lorsque la variable n'est pas déclarée. IS_NULL exige que la variable soit déclarée, sinon elle entraînera une erreur.
Sélection des exigences logiques <br> Si vous devez juger strictement si la variable est affectée à NULL , IS_NULL doit être utilisée. Si vous déterminez si la variable est "équivalente à vide", il est plus approprié d'utiliser vide .
La différence par rapport à ISSET
ISSET est utilisé pour déterminer si la variable a été définie et non nul . Il peut être utilisé avec ces deux fonctions pour contrôler plus précisément l'état variable.
Supposons que vous obteniez des données d'une API et déterminez si les données sont valides: vous
<?php
$response = file_get_contents("https://gitbox.net/api/data");
$data = json_decode($response, true);
if (is_null($data['value'])) {
echo "Les données sont NULL,Besoin de demander à nouveau";
}
if (empty($data['value'])) {
echo "Les données sont空,peut être 0、Chaîne vide ou non";
}
?>
Dans l'exemple de code ci-dessus, IS_NULL est utilisé pour déterminer l'exact NULL , tandis que vide couvre une gamme plus large de cas "non valides" ou "vides".