Du fait de typage faible des variables en PHP, les comparaisons de variables de types différents produisent parfois des résultats inattendus.
Le lien suivant récapitule tous les cas possibles de conversions :
http://www.blueshoes.org/en/developer/php_cheat_sheet
Et enfin un petit quiz pour vérifier que vous avez tout compris :
http://www.blueshoes.org/en/developer/syntax_exam/