这篇文章给大家分享的是php中 === 和 == 的区别,如果你刚好也有这个困惑,不妨参照这篇文章。阅读完整文相信大家能解决这个问题。

创新互联建站网站建设提供从项目策划、软件开发,软件安全维护、网站优化(SEO)、网站分析、效果评估等整套的建站服务,主营业务为成都网站制作、成都网站设计,成都app软件开发以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。创新互联建站深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
比较运算符 == (相等运算符) 和 === (恒等运算符) 用于比较两个值。他们也被称为 宽松等于 (==) 和 严格等于 (===) 运算符。
| 符号 | 名称 | 例子 | 输出结果 |
|---|---|---|---|
| == | 等于 | $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中 === 和 == 的区别大概了解了吗?如果想了解更多相关文章内容,欢迎关注创新互联行业资讯频道,感谢各位的阅读!
文章题目:php中===和==的区别
新闻来源:http://www.jxjierui.cn/article/gpgigi.html


咨询
建站咨询
