一个因number_format引起的bug 发表于 2017-12-27 更新于 2018-03-27 奥巴马55岁就退休,川普70岁才开始当总统。 number_format() 函数格式化以后的数字不再是数字, 而是字符串 123$num = 12.5345;$format = number_format($num, 2);dd(is_string($format)); // true 所以字符串0.00并不是false 123$num = 0;$format = number_format($num, 2);dd(empty($format)); // false 数字0.00 才是false 1dd(empty(0.00)); // true 还有一个字符串0是false 1dump(empty('0')); // true 而字符串0.0确是true 1dump(empty('0.0')); // false 字符串强制转化成数字 123$num = 12.45;$format = number_format($num, 2);dd(floatval($format));