微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在PHP中,如果0 == false为true,并且false == false为true,如何测试false?

如何解决在PHP中,如果0 == false为true,并且false == false为true,如何测试false?

| 我对测试preg_match的返回值特别感兴趣,该返回值可以为1、0或false。     

解决方法

$val === false;
例:
0 === false; // returns false
false === false; // returns true
使用三重等于运算符/严格比较     ,使用
===
类型比较。 检查手册:http://www.php.net/manual/zh/language.operators.comparison.php     ,
$num === 0; //is true if $num is 0 and is an integer
$num === 0; //is false if $num is 0 and is a string
===
检查类型和相等性 所以:
 0 === false; //will return false
 false === false; //will return true
    ,preg_match()和preg_match_all()返回找到的匹配数,如果出错则返回false。但是,这意味着如果未找到匹配项,它将返回0,因此显式测试是否为false,然后尝试遍历一个空集仍然是有问题的。 我通常会测试是否为假,然后在循环结果之前再次测试匹配计数。效果:
$match = preg_match_all($pattern,$subject,$matches);

if($match !== false)
{
    if(count($matches) > 0)
    {
        foreach($matches as $k=>$v)
        {
            ...
        }
    }
    else
    {
        user_error(\'Sorry,no matches found\');
    }
}
else
{
    die(\'Match error\');
}
    ,使用not运算符
!
检查是否为假:
(! 0 === false)
始终为假。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。