Les fonctions isset()
et empty()
en PHP servent des objectifs distincts liés à la manipulation et à l'évaluation variables.
isset()
est utilisée pour déterminer si une variable est définie et non nulle. Il renvoie true
si la variable existe et a une valeur autre que NULL
, sinon il renvoie false
. Cette fonction est particulièrement utile pour vérifier si une variable a été initialisée avant d'essayer de l'utiliser, ce qui peut aider à prévenir les avis sur les variables non définies.empty()
vérifie si une variable est vide. Une variable est considérée comme vide si elle n'existe pas, ou si sa valeur équivaut à FALSE
. Cela inclut ""
(une chaîne vide), 0
(entier ou float), 0.0
, "0"
, NULL
, FALSE
, un array()
ou une variable déclarée sans valeur dans une classe. La fonction empty()
est utile pour valider l'entrée des utilisateurs ou vérifier si une variable a une valeur qui peut être considérée comme non vide. Les principales différences entre isset()
et empty()
en PHP sont centrées sur ce qu'ils évaluent et comment ils traitent différents types de valeurs:
isset()
vérifie l'existence d'une variable et s'il est NULL
, tandis que empty()
va plus loin pour évaluer la «vérité» de la valeur de la variable.Traitement des valeurs :
isset()
reviendra true
pour toute variable qui existe et n'est pas NULL
, même s'il s'agit d'une chaîne vide, 0
ou d'un tableau vide.empty()
reviendra true
pour ces valeurs ( ""
, 0
, NULL
, FALSE
, etc.) car ils sont considérés comme "vides" ou équivalents à FALSE
.Valeurs de retour pour des cas spécifiques :
isset($var)
renverra false
si $var
n'est pas défini ou est NULL
.empty($var)
retournera true
si $var
n'est pas défini, NULL
ou une valeur "vide"; Sinon, il renvoie false
. L'utilisation efficace isset()
et empty()
dans PHP implique de comprendre leurs rôles spécifiques dans l'évaluation des états variables:
En utilisant isset()
:
Utilisez isset()
pour vérifier si une variable a été définie avant d'essayer de l'utiliser. Ceci est particulièrement utile lorsque vous travaillez avec les formulaires et la saisie des utilisateurs pour s'assurer que les données attendues sont présentes.
<code class="php">if (isset($_POST['username'])) { // Safe to use $_POST['username'] }</code>
Combinez isset()
avec d'autres conditions pour accéder en toute sécurité aux éléments de tableau imbriqué.
<code class="php">if (isset($array['key1']['key2'])) { // Access $array['key1']['key2'] }</code>
Utilisation empty()
:
Utilisez empty()
pour vérifier si une variable est "vide" ou FALSE
, ce qui peut simplifier les vérifications conditionnelles.
<code class="php">if (empty($var)) { // $var is considered empty }</code>
empty()
est particulièrement utile pour valider les entrées utilisateur ou vérifier les paramètres facultatifs.
<code class="php">if (!empty($_POST['email'])) { // Email field is not empty and can be processed }</code>
Lorsque vous utilisez isset()
et empty()
en php, plusieurs erreurs courantes doivent être évitées pour garantir que votre code fonctionne comme prévu:
isset()
et empty()
sont interchangeables : ils ne le sont pas. isset()
vérifie l'existence et l'état non nul d'une variable, tandis que empty()
vérifie la «vérité» de la variable. Les utiliser de manière interchangeable peut entraîner des erreurs logiques. Ne pas vérifier correctement les tableaux : lorsque vous traitez avec les tableaux, assurez-vous d'utiliser correctement isset()
pour vérifier les clés imbriquées.
if (isset($array))
lorsque vous vouliez vérifier $array['key']
.if (isset($array['key']))
. Surplombant les gotchas empty()
: rappelez-vous que empty()
considère 0
, ""
et "0"
comme vide, ce qui pourrait ne pas être ce que vous avez l'intention dans les comparaisons numériques ou de chaînes.
empty()
pour vérifier si un utilisateur a entré un ID numérique valide, qui pourrait être 0
.if ($_POST['id'] === '0' || $_POST['id'] > 0)
. En comprenant et en évitant ces pièges courants, vous pouvez utiliser efficacement isset()
et empty()
dans votre code 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!