首页 > 编程语言 >PHP 中的相等性比较运算符(== 双等号)和恒等性比较运算符(=== 三等号)有什么区别?

PHP 中的相等性比较运算符(== 双等号)和恒等性比较运算符(=== 三等号)有什么区别?

时间:2023-11-11 22:33:05浏览次数:32  
标签:相等 FALSE 双等 运算符 转换 PHP TRUE 比较

内容来自 DOC[ https://q.houxu6.top/?s=PHP 中的相等性比较运算符(== 双等号)和恒等性比较运算符(=== 三等号)有什么区别?

](https://q.houxu6.top/?s=PHP 中的相等性比较运算符(%3D%3D 双等号)和恒等性比较运算符(%3D%3D%3D 三等号)有什么区别? )

===== 之间有什么区别?

  • 宽松的 == 比较如何工作?
  • 严格的 === 比较如何工作?

有哪些有用的示例呢?


===== 的区别

松散相等运算符 == 和严格相等运算符 === 的区别在 手册 中有明确解释:

比较运算符

示例 名称 结果
$a == $b 相等 如果在类型转换后 $a 等于 $b,则返回 TRUE。
$a === $b 严格相等 如果 $a 等于 $b 并且它们的类型相同,则返回 TRUE。

松散相等比较 ==

如果你使用 == 运算符或其他使用松散比较的运算符,比如 !=<>==,你必须始终关注上下文来确定何时以及为什么会发生转换,以理解正在发生的事情。

转换规则

类型比较表格

你可以参考并查看手册中的比较表格:链接

TRUE FALSE 1 0 -1 "1" "0" "-1" NULL array() "php" ""
TRUE TRUE FALSE TRUE FALSE TRUE TRUE FALSE TRUE FALSE FALSE TRUE FALSE
FALSE FALSE TRUE FALSE TRUE FALSE FALSE TRUE FALSE TRUE TRUE FALSE TRUE
1 TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
0 FALSE TRUE FALSE TRUE FALSE FALSE TRUE FALSE TRUE FALSE TRUE TRUE
-1 TRUE FALSE FALSE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
"1" TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
"0" FALSE TRUE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
"-1" TRUE FALSE FALSE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
NULL FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE TRUE TRUE FALSE TRUE
array() FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE FALSE FALSE
"php" TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
"" FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE TRUE FALSE FALSE TRUE

严格相等比较 ===

如果你使用 === 运算符或其他使用严格比较的运算符,比如 !=====,你可以始终确保类型不会发生神奇转换,因为不会进行转换。因此,对于严格比较,类型和值必须完全相同,不仅仅是值。

类型比较表格

你可以参考并查看手册中的比较表格:链接

使用 === 的严格比较

TRUE FALSE 1 0 -1 "1" "0" "-1" NULL array() "php" ""
TRUE
FALSE
1
0
-1
"1"
"0"
"-1"
NULL
array()
"php"
""

标签:相等,FALSE,双等,运算符,转换,PHP,TRUE,比较
From: https://www.cnblogs.com/xiaomandujia/p/17826495.html

相关文章

  • PHP参数加密
    Header每次使用API所需要的Header設定值ParameterTypeValueDescriptionAuthorizationstringapitoken系統商TokenContent-Typestringmultipart/form-data除GET、DELETE方法外都需要Sign每次呼叫都必須在網址加上一個sign參數,而sign參數是以傳遞資料及APIKEY產生:先將參數陣列照......
  • PHP实现页面间的链接和背景图片设置
    在PHP中实现页面间的链接非常简单,你可以使用HTML的<a>标签来创建链接。下面是一个示例代码,当用户点击按钮后,将跳转到下一个页面:<!--第一个页面--><!DOCTYPEhtml><html><head><title>第一个页面</title></head><body><buttononclick="window.locati......
  • 在thinkphp6中使用leftJoin时,怎么使用REPLACE?
    在ThinkPHP6中,你可以使用db()函数来构建复杂的SQL查询,以实现JOIN并使用REPLACE函数。可以按照以下方式修改你的代码:$res->leftJoin('work','work.workID=REPLACE(entry_in.workID,"JP","")')->where('work.customer_id',$customer_id);在这......
  • phpstorm中配置docker远程解释器?
    要在PhpStorm中配置Docker远程解释器,请按照以下步骤进行操作:1.首先,确保你已经在本地安装了Docker。你可以在终端执行docker--version来确认Docker是否已成功安装。在PhpStorm中,打开项目并进入"Settings/Preferences"菜单。在Windows或Linux上,菜单位于"File"->......
  • php-1
      ......
  • PHP函数封装分分钟帮你实现数据脱敏处理, 支持手机、邮箱、身份证号 中文字符串!
    ......
  • PHP反序列化题型_绕过preg_match1
    ctfshowweb266<?phphighlight_file(__FILE__);include('flag.php');$cs=file_get_contents('php://input');classctfshow{public$username='xxxxxx';public$password='xxxxxx';publicfunction__......
  • php开发之文件读取、写入
    前言续之前的系列,这里php开发的文件操作的内容读取以及文本写入的部分文件读取代码的实现css代码本系列的php博客都是这个css,名字都是index.css/*css样式初始化*/*{font-family:'Poppins',sans-serif;margin:0;padding:0;box-sizing:border-box......
  • php开发之文件下载的实现
    前言php是网络安全学习里必不可少的一环,简单理解php的开发环节能更好的帮助我们去学习php以及其他语言的web漏洞原理正文在正常的开发中,文件下载的功能是必不可少,比如我们在论坛看到好看图片好听的歌时,将其下载下来时就涉及到文件的下载等等文件功能。但也会出现漏洞,或者一些bu......
  • PHP反序列化题型_地址传参
    CTFSHOWweb265<?phperror_reporting(0);include('flag.php');highlight_file(__FILE__);classctfshowAdmin{public$token;public$password;publicfunction__construct($t,$p){$this->token=$t;$this->pass......