isset() ou empty() ou is_null() ? : #jeudiconfession #php n°2

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 !


Réagir à cet article

220 caractères maximum