2010-07-15 5 views
0

Nous migrons actuellement de PHP4 vers PHP5 et avons découvert un problème. En PHP4, lorsque nous utilisions la fonction number_format() sur une chaîne vide, la sortie serait 0. Cependant, en PHP5, l'exécution de la même chaîne vide via la fonction number_format() entraîne la sortie de NULL. Cela a un effet d'entraînement sur beaucoup de notre code qui n'attend pas de NULL.Existe-t-il un travail autour de number_format() dans PHP5 retournant NULL pour les chaînes vides?

Existe-t-il une solution optimale? Idéalement, j'aimerais pouvoir faire la modification à l'appel number_format() pour que les chaînes vides retournent 0 au lieu de NULL et ne pas avoir à vérifier tous les endroits possibles où la sortie peut être utilisée.

+0

'NULL' se comporte normalement très semblable à' 0'. Pouvez-vous s'il vous plaît montrer du code, qui échoue? – NikiC

+0

La conversion de 'null' en chaîne entraîne' '' '. La conversion de '0' en une chaîne conduit à' '0' '. C'est une énorme différence lorsque vous voulez afficher quelque chose à l'utilisateur. – Charles

+0

Oui, tu as raison, je n'y ai pas pensé. – NikiC

Répondre

1

Pourquoi ne pas vérifier un var vide avant de le passer à number_format?

number_format(empty($var) ? '0' : $var); 
Questions connexes