if ($user_id == NULL || $user_name == NULL || $user_logged == NULL) {
$user_id = '-1';
$user_name = NULL;
$user_logged = NULL;
}
if ($user_admin == NULL) {
$user_admin = NULL;
}
is_null
?$user_id
, $user_name
et $user_logged
écrivent sur une ligne (peut-être un tableau?) Sans répéter NULL
?Si vous voulez vérifier si une variable est vraiment NULL
, utilisez l'opérateur d'identité:
$user_id === NULL // FALSE == NULL is true, FALSE === NULL is false
is_null($user_id)
Si vous voulez vérifier si une variable n'est pas définie:
!isset($user_id)
Ou si la variable n'est pas vide, une chaîne vide, zéro, ..:
empty($user_id)
Si vous voulez vérifier si une variable n'est pas une chaîne vide, !
sera également suffisant:
!$user_id
Vous pouvez vérifier si elle n'est pas définie (ou vide) de plusieurs manières.
if (!$var){ }
Ou:
if ($var === null){ } // This checks if the variable, by type, IS null.
Ou:
if (empty($var)){ }
Vous pouvez vérifier si c'est déclaré avec:
if (!isset($var)){ }
Prenez note que PHP interprète 0 (entier) et "" (chaîne vide) et false comme "vide" - et malgré des types différents, ces valeurs spécifiques sont considérées par PHP comme identiques. Peu importe si $ var n'est jamais défini/déclaré ou s'il est déclaré comme $ var = 0 ou $ var = "". Vous comparez souvent en utilisant l'opérateur === qui compare le type de données. Si $ var est 0 (entier), $ var == "" ou $ var == false sera validé, mais $ var === "" ou $ var === false ne le sera pas.
ici, j'ai expliqué comment fonctionnent la fonction vide et isset, veuillez utiliser celle qui convient. Utilisez également la fonction is_null.
<?php
$val = 0;
//evaluates to true because $var is empty
if (empty($val)) {
echo '$val is either 0, empty, or not set at all';
}
//evaluates to true because $VAR IS SET
if (isset($val)) {
echo '$val is set even though it is empty';
}
?>
empty()
est un peu plus court, au lieu de vérifier !$user_id
comme suggéré ailleurs:
if (empty($user_id) || empty($user_name) || empty($user_logged)) {
}
Cela vaut la peine d'être noté - et je ne l'ai découvert qu'après presque 9 ans de codage PHP que le meilleur moyen de vérifier l'existence d'une variable est d'utiliser la fonction empty (). En effet, il ne génère pas d’erreurs et même si vous les désactivez - PHP les génère toujours! empty () ne renverra cependant pas d'erreur si la variable n'existe pas. Je pense donc que la bonne réponse n’est pas de vérifier si sa valeur est nulle mais de procéder comme suit
if (!empty($var) && is_null($var))
Notez le manuel PHP
la variable est considérée vide si elle n'existe pas ou si sa valeur est égale à FALSE
Au lieu d'être nul, ce qui est pratique ici!
Pour vérifier les valeurs NULL, vous pouvez utiliser is_null () comme indiqué ci-dessous.
if (is_null($value)) {
$value = "MY TEXT"; //define to suit
}
Je me suis senti obligé de répondre à cette question à cause des autres réponses. Utilisez empty () si vous le pouvez car il couvre plus de bases. Futur tu me remercieras.
Par exemple, vous devrez faire des choses comme isset () && strlen () où vous pourriez utiliser empty (). Pensez-y comme si ce vide est comme! Isset ($ var) || $ var == false
vous pouvez utiliser la routine isset ().
vous pouvez également faire référence à une gamme de fonctions is_type () telles que
is_string (), is_float (), is_int (), etc. pour tester plus précisément
1.
if(!($user_id || $user_name || $user_logged)){
//do your stuff
}
2 En fait, je n'ai pas compris pourquoi vous écrivez une telle construction.
3 Placez toutes les valeurs dans un tableau, par exemple $ ar ["user_id"], etc.
Veuillez définir ce que vous entendez par "vide".
Le test que j'utilise normalement est isset()
.
Le moyen le plus simple et le plus simple de vérifier si une variable est vide dans PHP consiste à utiliser la fonction empty ().
si vide ($ variable) alors ....
<?php
$nothing = NULL;
$something = '';
$array = array(1,2,3);
// Create a function that checks if a variable is set or empty, and display "$variable_name is SET|EMPTY"
function check($var) {
if (isset($var)) {
echo 'Variable is SET'. PHP_EOL;
} elseif (empty($var)) {
echo 'Variable is empty' . PHP_EOL;
}
}
check($nothing);
check($something);
check($array);