Salut,
les trois sont différents :
- 0 est un chiffre
- false un booléen
- null ben je sais pas trop !
il arrive que zéro soit considéré comme étant un booléen qui vaut false donc 0 == false, le problème c'est que venant d'une chaine ce n'est pas vrai !
quand a null c'est un élément qui n'est pas affecté mais qui exist. Une variable déclaré mais pas affectée. exemple var $truc; si tu fait un if (empty ($truc)) le résultat sera true puisque $truc ne contient rien mais existe !
null est différent de '', le second représente une chaine vide mais une chaine quand meme, tandis que le 1er répresente rien :) !
si tu veut etre sur de ne pas confondre des zéro avec false .... utilise la comparaison logique.
if ( 0 === false) va retourner false car zéro ce n'est pas false. idem pour les autres.
Les types =>
http://fr2.php.net/manual/fr/language.types.php
Les opérateur
Les opérateurs de comparaison
Bonne lecture
@+