Utilisation de empty - PHP - Programmation
Marsh Posté le 22-12-2010 à 09:36:14
C'est php, cherche pas.
Si tu veux des comparaisons exactes, contente-toi de ===
Marsh Posté le 22-12-2010 à 11:02:07
empty c'est un reliquat de PHP3, faut plus l'utiliser.
A la place tu as isset, is_null, strlen, count, array_key_exists
Dans le même genre, c'est comme ceux qui font isset($tab[1]) au lieu de array_key_exists(1, $tab). Le pire c'est qu'on trouve ce genre d'erreur dans du code soi-disant "propre" de framework
Marsh Posté le 22-12-2010 à 12:35:56
smaragdus a écrit : empty c'est un reliquat de PHP3, faut plus l'utiliser. |
+1
Pour ceux qui se demanderaient pourquoi :
Code :
|
Marsh Posté le 22-12-2010 à 09:12:52
Bonjour,
Je viens de découvrir à mes dépends la fonction empty dans le code d'un projet que je dois débuguer. Je me rends compte que l'utilisateur utilise un empty pour semble t'il tester a la fois si c'est NULL ou vide.
Mais quand je lis php.net je me rend compte qu'empty couvre bien plus de cas
Ce qui suit est considéré comme étant vide : "" (une chaîne vide)0 (0 en tant qu'entier)"0" (0 en tant que chaîne de caractères)NULLFALSEarray() (un tableau vide)var $var; (une variable déclarée, mais sans valeur dans une classe)
Je me demande donc mais que bien utiliser empty pour tester d'un coup un nombre de cas aussi large ? Cela prouve une non maitrise du code je trouve.
Qu'en pensez vous ?
Pierre
---------------
Du tofu en Alsace : www.tofuhong.com