189 8069 5689

php中恒等运算符的速度比相等运算符快吗

这篇文章主要介绍“php中恒等运算符的速度比相等运算符快吗”,在日常操作中,相信很多人在php中恒等运算符的速度比相等运算符快吗问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php中恒等运算符的速度比相等运算符快吗”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

成都创新互联于2013年开始,先为高州等服务建站,高州等地企业,进行企业商务咨询服务。为高州企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

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

php中恒等运算符的速度比相等运算符快吗

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

  • 如果两个值的类型不同,那么 == 和 === 会得到 不同的结果。运算速度也会有所不同, 因为 == 会先进行类型转换,然后进行比较。

  • 如果两个值类型相同,那么 == 和 === 会得到 相同的结果。 运算速度也几乎相同,两个运算符都不会进行类型转换。

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

案例 1:

  类型相同返回 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:

输出:

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

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

到此,关于“php中恒等运算符的速度比相等运算符快吗”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!


网站标题:php中恒等运算符的速度比相等运算符快吗
本文链接:http://cdxtjz.cn/article/josheh.html

其他资讯