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