我们目前正在从PHP4迁移到PHP5,并发现了一个问题。
在PHP4中,当我们在空字符串上使用number_format()函数时,输出将为0.但是,在PHP5中,通过number_format()函数运行相同的空字符串会导致输出NULL。这对我们很多不期望NULL的代码产生了连锁反应。
这是否有最佳实践解决方案?理想情况下,我希望能够在number_format()调用中进行更改,以便空字符串返回0而不是NULL,而不必检查可能使用输出的所有可能位置。
答案 0 :(得分:2)
为什么不在检查空变量之前将其传递给number_format
?
number_format(empty($var) ? '0' : $var);
答案 1 :(得分:0)
空不是唯一的问题。通常,任何非数字都应为0.
number_format(is_numeric($var) ? $var : 0);
会将任何不是数字的内容呈现为零。