empty("0")

L' évolution la plus polémique est celle de empty( ) . Une chaîne contenant seulement le caractère ' 0 ' (zéro ) est maintenant considérée comme vide , alors qu'elle ne l 'était pas en PHP 3.0 .

Ce nouveau comportement prend tout son sens dans les applications web , puisque tous les résultats de champs de type input sont de type chaîne de caractères , même si un nombre est demandé , et ce , grâce aux capacités de conversion automatique de PHP . D' un autre côté , cela peut casser votre code d 'une manière très subtile , menant droit au comportement erratique , difficilement repérable si vous ne savez pas ce qui vous attend .