php === 和==的区别是什么

php ===和==的区别:1、在PHP中===表示全等运算符,而==表示等于运算符;2、如果等于运算符两边的值相等,则返回true,而如果全等运算符两边的值相等但类型不等,则返回false。

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑

php === 和==的区别是什么?

php中的==和===的用法及区别

在开发中进场遇到数值匹配的问题,那么在进行匹配时,遇到下面的情况,你觉得结果是什么?

<?php 
$str = "0dff";
if (0 == $str) {
echo "true";
}else{
echo "false";
}
 
?>

出人意料的上面的这个程序的输出结果是true,也就是说在编译中程序默认0和0dff是相等的。这是因为在执行关系运算”==“时要求运算符两边的数据类型必须一致,所以等号右边的字符串被强制 转换为了整型0。

这也是一系列弱类型语言的一个缺点。在php中提供了“===”来解决这个问题。

<?php 
$str = "0dff";
if (0 === $str) {
echo "true";
}else{
echo "false";
}
 
?>

这个程序的输出是false。

全等于操作过程如下:

1.判断全等于操作符2边的数据类型是否相同 如果不相同,则返回false

2.判断全等于操作符2边的值是否相等,如果 不相等,则返回false

3.最后将上面2步的操作进行与操作。返回与操作的结果。

附:

334bb8bea5e4a2b91e0e4b683a94749.png

推荐学习:《PHP视频教程》

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » php === 和==的区别是什么