if ( (int) $number == 0) echo 'empty'; if ( floatval($number) == 0 ) echo 'empty'
首先,PHP 认为 0.0 是空,同理 0.00 和 0.000 也会被等同 0.0 一样被认为是空,所以 empty 将返回 true 来表达 PHP 的规则。
但是,在 PHP 的世界里,'0.0'、'0.00'和'0.000'并不被认为是空,所以 empty 将返回 false。
因而,楼主说的“优雅判断 0.0/0.00/0.000 是否为空”指的是哪种情况呢?empty 函数又如何不胜任了呢?
(补充一句:empty 函数只接受变量的判断)