聊聊PHP中的 === 运算符为什么比 == 快

 更新时间:2021-11-14 18:15:18   作者:佚名   我要评论(0)

在上一篇《聊聊PHP中require_once()函数为什么不好用》中给大家介绍了PHP中require_once()为什么不好用的原因,感兴趣的朋友可以去阅读了解一

在上一篇《聊聊PHP中require_once()函数为什么不好用》中给大家介绍了PHP中require_once()为什么不好用的原因,感兴趣的朋友可以去阅读了解一下~

那么本文将给大家介绍PHP中的===运算符为什么比==快?

PHP中的===和==运算符,这两个运算符属于PHP中的比较运算符。

===运算符称为绝对等于==运算符称为等于

语法示例:

$a == $b,如果在类型转换后 $a 等于 $b,则为 TRUE;

$a === $b,如果 $a 等于 $b,并且两者的类型相同,则为 TRUE;

  • 如果操作数的类型不同,那么==和===将产生不同的结果。在这种情况下,操作符的速度会有所不同,因为==将执行类型转换,然后进行比较。

  • 如果操作数是相同类型的,那么==和===将产生相同的结果。在这种情况下,这两个操作符的速度几乎相同,因为任何操作符都不执行类型转换。

==操作符会临时转换数据类型,以查看其值是否等于另一个操作数,而===不需要进行任何类型转换,因此完成的工作更少,这也就使得它比==操作符快。

代码示例1:

 

 

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");

 

 

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 "第一种情况";

        break;

 

    case "a":

        echo "第二种情况";

        break;

}

输出:

boolean true

boolean true

boolean true

boolean true

boolean false

boolean false

boolean false

boolean false

第一种情况

代码示例2:

 

var_dump(1 == TRUE);

 

var_dump(0 == FALSE);

 

var_dump(1 === TRUE);

 

var_dump(0 === FALSE);

输出:

boolean true

boolean true

boolean false

boolean false

注意: === 运算符执行“类型安全比较”,仅当两个操作数具有相同的类型和值时它才会返回 true,而如果只比较值就可以使用==。

到此这篇关于聊聊PHP中的 === 运算符为什么比 == 快的文章就介绍到这了,更多相关PHP === ==内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
  • 详解php中 === 的使用
  • php下使用strpos需要注意 === 运算符
  • 浅析php中三个等号(===)和两个等号(==)的区别

相关文章

  • Laravel框架实现点播上传阿里云功能

    Laravel框架实现点播上传阿里云功能

    1、确认框架中安装了第三方alibabacoud控件 实现代码如下 上传过程中遇到任务问题,可以进行留言 <&#63;php namespace App\Api\xxxx\Con
    2021-11-14
  • 聊聊PHP中的 === 运算符为什么比 == 快

    聊聊PHP中的 === 运算符为什么比 == 快

    在上一篇《聊聊PHP中require_once()函数为什么不好用》中给大家介绍了PHP中require_once()为什么不好用的原因,感兴趣的朋友可以去阅读了解一
    2021-11-14
  • php双向队列实例讲解

    php双向队列实例讲解

    1、双向队列是指一种具有队列和栈的性质的数据结构。 2、双向队列中的元素可以从两端弹出,其限定插入和删除操作在表的两端进行。 双向队列就
    2021-11-14
  • 关于PHP数组迭代器的使用方法实例

    关于PHP数组迭代器的使用方法实例

    近来在开发一个视力筛查电子报告系统的产品,这个产品的作用是自动提取视力筛查过程中得到的屈光检查数据,并结合数据自动生成通俗易懂且专业
    2021-11-14
  • PHP遍历数组的6种方式总结

    PHP遍历数组的6种方式总结

    目录1、foreach2、array_map3、array_walk4、for5、each6、reset总结在PHP的日常操作中,数组是最常出现的结构,而我们几乎每天都在处理数组
    2021-11-14
  • .NET 6 中的隐式命名空间引用

    .NET 6 中的隐式命名空间引用

    目录1、历史变化2、新版本介绍3、More usage4、More前言: 之前写过一篇隐式命名空间引用的大概介绍,在一些小的测试项目中也有在用,一直
    2021-11-14
  • .NET 6 即将到来的新特性  隐式命名空间引用

    .NET 6 即将到来的新特性  隐式命名空间引用

    目录1、Sample2、How it works3、More前言: 今天看到一个更新,可以不需要写 using了,目前还没有正式发布,应该要到 .NET 6 Preview 7
    2021-11-14
  • ASP.NET Core 中间件的使用之全局异常处理机制

    ASP.NET Core 中间件的使用之全局异常处理机制

    目录1、创建项目2、创建全局异常过滤器3、依赖注入全局异常处理机制4、测试全局异常处理机制前言: 我们经常听到“秒修复秒上线”,觉得很
    2021-11-14
  • 解析Pytorch中的torch.gather()函数

    解析Pytorch中的torch.gather()函数

    参数说明 以官方说明为例,gather()函数需要三个参数,输入input,维度dim,以及索引index input必须为Tensor类型 dim为int类型,代表从哪个
    2021-11-14
  • 93充100,电费充值系统怎么做到的

    93充100,电费充值系统怎么做到的

    CPS的本质就是销售;你卖出货就赚钱。 在生活中话费水费电费充值是刚需,基本上每个月都有需求。电费充值不同于话费,电费的市场更大。
    2021-11-09

最新评论