java 怎么判断1_1.0_1.00是同一个数_php如何优雅的判断 0.0/0.00/0.000 是否为空? 测试过用empty函数不行...

php如何优雅的判断 0.0/0.00/0.000 是否为空? 测试过用empty函数不行

如何优雅 ?

if ( (int) $number == 0)

echo 'empty';

if ( floatval($number) == 0 )

echo 'empty'

转成浮点,与0对比。

floatval(0.0) == 0

转换成int 类型判断是否为 0 可以否。

$zero = array ("0.0","0.00","0.000") ;

foreach ($zero as $key => $value){

if(empty($zero)){

echo "变量 $value 为空 <br>";

}else{

echo "变量 $value 不为空 <br>";

}

}

这是不是你要的答案?

首先,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 函数只接受变量的判断)

这是什么鬼问题。

完全不清楚你问的’空’是什么意思。

如果你问的‘空’是PHP中的NULL,那么显然,0/0.0/0.00 都不是NULL,NULL是PHP的一种数据类型。

如果你问的’空’是指假,那么PHP里面0,false,null 都表示假。

在真假逻辑上,(0 == 0.00 == false == null) 返回真。

判断一个简单的基本的数据结构的变量真假,都是一行代码解决,还需要优雅?还能多优雅?

preg_match('/^0(\.(0)+)?$/' , strval($num)) === 0 ? 'not empty' : 'empty'

使用正则表达式进行判断,简单粗暴 and 高效。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值