• 技术文章 >后端开发 >PHP问题

    为什么 === 的速度比 == 快?

    GuanhuiGuanhui2020-06-18 18:01:32转载1029

    比较运算符 == (相等运算符)=== (恒等运算符) 用于比较两个值。他们也被称为 宽松等于 (==)严格等于 (===) 运算符。

    符号名称例子输出结果
    ==等于$a == $b忽略类型,如果 $a 等于 $b 则为 TRUE
    ===恒等于$a === $b如果 $a 等于 $b,并且类型相同则为 TRUE

    PHP 运算符 PHP中有很多运算符, 但 == 和 === 运算符严格或随意执行类似的任务。

    相等运算 == 比较两个值时会临时转换数据类型,而 === (全等运算符)不需要执行任何类型转换,因此计算量减少,速度也更快。

    案例 1:

    <?php 
    
    // 0 == 0 ->  类型相同返回 true
    // 转换完成,然后
    // 检查是否相等
    var_dump(0 == "a"); 
    
    // 1 == 1 -> true 
    var_dump("1" == "01"); 
    
    // 10 == 10 -> true 
    var_dump("10" == "1e1"); 
    
    // 100 == 100 -> true 
    var_dump(100 == "1e2"); 
    
    // 0 === "a" -> 这种情况为 false
    // 转换不仅完成
    // 还检查是否存在
    // 是否相等
    var_dump(0 === "a"); 
    
    // "1" === "01" -> false 
    var_dump("1" === "01"); 
    
    // "10" === "1e1" -> false 
    var_dump("10" === "1e1"); 
    
    // 100 == "1e2" -> false 
    var_dump(100 === "1e2"); 
    
    switch ("a") { 
    case 0: 
        echo "In first case"; 
        break; 
    
    // 永远不会匹配 "a" 选项
    // 因为 switch 使用的是 == 
    case "a": 
        echo "In sceond case"; 
        break; 
    } 
    ?>

    输出:

    bool(true)
    bool(true)
    bool(true)
    bool(true)
    bool(false)
    bool(false)
    bool(false)
    bool(false)
    In first case

    案例 2:

    <?php 
    
    // TRUE - 以下表达式等同于 (bool)1 == TRUE 
    var_dump(1 == TRUE); 
    
    // TRUE - 以下表达式等同于 (bool)0 == FALSE 
    var_dump(0 == FALSE); 
    
    // FALSE - 1 不全等于 TRUE
    // 1 是整形, TRUE 是布尔型 
    var_dump(1 === TRUE); 
    
    // FALSE - 0 不全等于 FALSE
    // 0 是整形, FALSE 是布尔型
    var_dump(0 === FALSE); 
    ?>

    输出:

    bool(true)
    bool(true)
    bool(false)
    bool(false)

    注意: === 运算符‘类型比较相对安全’, 仅当两个值具有相同的类型和值时才会返回 TRUE, 使用 == 时,值相等就会返回 TRUE。

    推荐教程:《PHP教程

    以上就是为什么 === 的速度比 == 快?的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:learnku,如有侵犯,请联系admin@php.cn删除
    专题推荐:php
    上一篇:while循环用法详解 下一篇:PHP Web 端如何操作 Nginx 配置
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【腾讯云】年中优惠,「专享618元」优惠券!• PHPCMS 怎么卸载 PHPSSO?• php模拟qq登录代码• php比Node.js好用的五大理由• PHPCMS 都能干什么?• PHPCMS手机站怎么建站?
    1/1

    PHP中文网