php中的==和===的用法及区别

2019-12-6 dingshangchao php开发

在开发中进场遇到数值匹配的问题,那么在进行匹配时,遇到下面的情况,你觉得结果是什么?
    <?php
    $str = "0dff";
    if (0 == $str) {
        echo "true";
    }else{
        echo "false";
    }
     
    ?>
出人意料的上面的这个程序的输出结果是true,也就是说在编译中程序默认0和0dff是相等的。这是因为在执行关系运算”==“时要求运算符两边的数据类型必须一致,所以等号右边的字符串被强制 转换为了整型0。

这也是一系列弱类型语言的一个缺点。在php中提供了“===”来解决这个问题。

    <?php
    $str = "0dff";
    if (0 === $str) {
        echo "true";
    }else{
        echo "false";
    }
     
    ?>
这个程序的输出是false。
全等于操作过程如下:

 1.判断全等于操作符2边的数据类型是否相同 如果不相同,则返回false

 2.判断全等于操作符2边的值是否相等,如果 不相等,则返回false

 3.最后将上面2步的操作进行与操作。返回与操作的结果。




网站备案号:京ICP备11043289号-1 北京市公安局网络备案 海1101084571
版权所有 北京育灵童科技发展有限公司 Copyright © 2002-2024 www.elight.cn, All Rights Reserved