Page 1 sur 1

$var = 0 est empty ?

Posté : 13 mars 2009, 15:48
par VaN
Bonjour,

J'ai une variable dont la valeur est 0.

Est-ce normal qu'un test if(!empty($var)) soit faux ?

Question subsidiaire : existe t'il une fonction semblable à empty(), qui me retourne true même si la variable vaut 0 ?

Re: $var = 0 est empty ?

Posté : 13 mars 2009, 16:37
par Berzemus
Est-ce normal qu'un test if(!empty($var)) soit faux ?
Oui, puisque pour que ta condition soit vraie il faudrait que $var soit "rempli".


Pris dans le manuel:
Retourne FALSE si var a une valeur non-vide et différente de zéro.

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)
* NULL
* FALSE
* array() (un tableau vide)
* var $var; (une variable déclarée, mais sans valeur dans une classe)
Peut-être que tu veux regarder du côté isset()

Posté : 13 mars 2009, 17:08
par AB
A propos d' isset() , si cette fonction retourne true pour toute variable affectée donc pour $var = 0 ou $var = "" , se souvenir (comme indiqué dans la doc) que cette fonction retourne false si l'on déclare $var = null;