php那个版本速度快,为什么===的速度比==快?-PHP问题

比较运算符 == (相等运算符) 和 === (恒等运算符) 用于比较两个值。他们也被称为 宽松等于 (==) 和 严格等于 (===) 运算符。符号名称例子输出结果==等于$a == $b忽略类型,如果 $a 等于 $b 则为 TRUE

===恒等于$a === $b如果 $a 等于 $b,并且类型相同则为 TRUE

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教程》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值