intro

今天和袁大神讨论了一下if,
纠正了一些我对if的看法,在这里Mark一下!
关于if的理解如下

 1、判断一个是否为空 if(empty())
 eg:
   $a = 0;
   if($a){
     var_dump($a);
}
   这里我们都知道if($a)不会执行,其实可以等价于if(empty($a))
   $a = 0.1
   if($a){
     var_dump($a);
}
   这里就会输出值为float 0.1

   其实这里用久了表达式的判断可能会误认为会把$a的值转换成bool,然而单一值只是会判断是否为空.

 2、检查一个表达式是否为真

   $a = 1;
    $b = 0.99999999999999995;
    if($b == $a){
       var_dump($b); 
}
其实这里超过了计算机的精度,php将$b向上取整了,变成了float 1

empty

php 为空的变量值为

$a = '', [] , 0, '0', false, null

这里需要注意一点的是 'false'、'null'、'[]'是非空的,唯独只有empty('0')为真…

发表评论

电子邮件地址不会被公开。 必填项已用*标注