PHP:Pourquoi comparaison et empty() se comportent-ils comme ça en PHP?
$a = "0";
$b = "00";
var_dump(empty($a)); # True (wtf?)
var_dump($a == $b); # True... WTF???
var_dump(empty($b)); # False WWWTTTFFFF!!??
J'ai lu les documents. Mais les docs ne donnent pas d'explication quant à pourquoi ils l'ont conçu de cette façon. Je ne cherche pas de solutions de contournement (je les connais déjà), je cherche une explication.
Pourquoi est-ce comme ça? Cela rend-il certaines choses plus faciles d'une manière ou d'une autre?
J'imagine que cela a quelque chose à voir avec le manque de types en PHP. Les résultats de 'is_numeric ($ a)', 'is_int ($ a)' seraient probablement intéressants pour vous aussi. –
PHP ne manque pas de types ... – strager
@stranger - Par "manque", je veux dire qu'il peut convertir en interne tous les types à tous les autres types d'une manière ou d'une autre, et cela est généralement géré automatiquement. –