• 技术文章 >后端开发 >php教程

    深入PHP中慎用双等于(==)的详解_PHP教程

    2016-07-21 15:08:31原创519

    PHP比较运算符出现的频率实在是太高了,尤其是 ==
    if(a == b){
    // do something
    }
    但是,你真的掌握了 == 了吗?细节很重要!
    来看下面的代码,说出你认为正确的答案
    var_dump(' 123fg456'==123);
    var_dump('some string' == 0);
    var_dump(123.0 == '123d456');
    var_dump(0 == "a");
    var_dump("1" == "01");
    var_dump("1" == "1e0");
    先想出你的答案,然后再运行一次看看。如果答案没有差错,那么恭喜你,基础知识很扎实。

    解释:
    如果比较一个整数和字符串,则字符串会被转换为整数。如果比较两个数字字符串,则作为整数比较。此规则也适用于 switch 语句。
    特别注意,字符串转换为整数时,是从左到右,直到遇到非数字字符为止。也就是说 '123abc456' 会被转换成 123,而不是 123456。另外字符串开始的空格会被忽略,比如 ' 234abc' 转换为 234。
    下面附上松散比较和严格比较的对照表
    松散比较与严格比较对照表

    www.bkjia.comtruehttp://www.bkjia.com/PHPjc/327444.htmlTechArticlePHP比较运算符出现的频率实在是太高了,尤其是 == if(a == b){ // do something } 但是,你真的掌握了 == 了吗?细节很重要! 来看下面的代码,说...

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:深入 PHP 慎用 等于 详解 PHP 比较 运算符 出现 频率 实在 太高 尤其是 somet
    上一篇:解决PHP超大文件下载,断点续传下载的方法详解_PHP教程 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 手写PHP API框架(二)之Composer的安装使用• 聊聊PHP escapeshellarg函数使用的中文问题• 设计API接口时,要注意这些地方!• 聊聊php怎么让Swoole/Pool进程池实现Redis持久连接• PHP原生类的总结分享
    1/1

    PHP中文网