Je suis d'accord avec Sean, mais je vais décrire ce que chacun fait en anglais simple:
if ($variable != NULL) {
$variable
sera NULL
si elle n'a pas été réglée. C'est pratiquement le même que isset
et le même que la variable étant indéfinie.
if (!empty($variable)) {
En général, ce vérifie si $variable
comme une chaîne ((string) $variable
) a une strlen
de 0. Cependant true
va le faire revenir false
, tout comme des entiers qui ne sont pas 0 et des tableaux vides. Pour une raison quelconque (que je crois être faux) $variable = '0';
renverra true
.
if ($variable) {
Cela agit de contrôle vrai/faux comme (boolean) $variable
- essentiellement si la variable retourne vrai lorsque converti en un booléen. Une manière d'y penser est qu'elle agit comme vide, sauf qu'elle renvoie la valeur opposée.
Pour plus d'informations sur ce que je veux dire par (boolean) $variable
(type casting/jonglerie) voir ce manual page.
(PHP devs: Ceci est principalement par la mémoire, si je me trompe s'il vous plaît me corriger!)
NULL n'est pas la même chose que non défini. –