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)
FALSEbool(true)bool(true)bool(false)
TRUEbool(true)bool(false)bool(false)
array() (tableau vide)bool(true)bool(true)bool(false)
NULLbool(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