isset() ou empty() ou is_null() ? : #jeudiconfession #php n°2
To be or not to be !
A force de coder des plugins comme ça, les sites ressemblent à des arbres de noë.
En faisant ça, vous en savez pas si $my_array['bar']
existe, vous ne savez même pas si $my_array
est un tableau. Résultat, vous gagnez plein de Warning PHP.
Be the best
C’est bien mieux comme ça :
Il existe donc 3 moyens de vérifier si une variable existe, les 3 se valent, le retour est différent selon ce que vous testez.
ps : En plus, $my_array['bar']
devrait être sanitisé avant de l’afficher, mais ceci est une autre histoire.
Bonus
Voici le tableau qui compare isset()
avec empty()
et is_null()
Valeur de la variable ($var) | isset($var) | empty($var) | is_null($var) |
---|---|---|---|
«» (chaine vide) | bool(true) | bool(true) | bool(false) |
» » (espace) | bool(true) | bool(false) | bool(false) |
FALSE | bool(true) | bool(true) | bool(false) |
TRUE | bool(true) | bool(false) | bool(false) |
array() (tableau vide) | bool(true) | bool(true) | bool(false) |
NULL | bool(false) | bool(true) | bool(true) |
«0»³ (0 en chaine) | bool(true) | bool(true) | bool(false) |
0 (0 en entier) | bool(true) | bool(true) | bool(false) |
0.0 (0 en décimal) | bool(true) | bool(true) | bool(false) |
var $var; (une variable déclarée sans valeur) | bool(false) | bool(true) | bool(true) |
NULL byte («\ 0»³) | bool(true) | bool(false) | bool(false) |
Vous aimez ? Partagez !
Partager la publication « isset() ou empty() ou is_null() ? : #jeudiconfession #php n°2 »
Réagir à cet article