www.adminn.cn
站长正能量分享网!

PHP比较运算符的详细介绍

AD:阿里云服务器企业会员更优惠 腾讯云香港,韩国免备案服务器1.8折优惠

运算符是告诉编译程序执行特定算术或逻辑操作的符号,通常与操作数一起构成一个表达式,我们经常看到它会参与数学运算或逻辑运算。PHP也包涵了很多的运算符,这篇文章详细解读一下其中很重要的比较运算符。

比较运算符种类

如同它们名称所暗示的,允许对两个值进行比较。比较运算符有如下几个:

1) $a > $b 大于:如果 $a 严格大于$b,则返回TRUE

2) $a < $b 小于:如果 $a 严格小于$b,则返回TRUE

3) $a >= $b 大于等于:如果 $a 大于等于$b,则返回TRUE

4) $a <= $b 小于等于:如果 $a 小于等于$b,则返回TRUE

5) $a <> $b 不等于:如果 $a 不等于$b,则返回TRUE

6) $a != $b 不等于:如果 $a 不等于$b,则返回TRUE(同上)

7) $a == $b 等于:如果 $a等于 $b,则返回TRUE

8) $a === $b 全等于:如果 $a等于 $b,并且它们的类型也相同,则返回TRUE

9) $a !== $b 不全等于:如果 $a 不等于 $b,或者它们的类型不同,则返回TRUE

其中,我们要重点区分一下“等于”和“全等于”,$a == $b只是对两个变量的值进行了比较运算,而全等于要对运算符两边的表达式同时进行值的比较和数据类型的比较,只有两边的值都相等,运算结果才是“真”。结合“不全等”运算符举例来说,$a = 2; var_dump($a!==2);这个表达式返回值是“假”,因为2是等于2的。另外,$a = 2;是整型而var_dump($a!==2);里的2也是整型,但运算符是不全等于"!=="所以结果是假,因为2是等于2的。反过来如果是这样$a = 2; var_dump($a!=='2');运算结果就是“真”的,因为2不等于'2',后面的'2'是一个字符串的'2',即不全等于不仅仅只是比较变量值,还要对变量的数据类型进行比较。

PHP中比较不同类型的结果

如果PHP比较运算符比较一个整数和字符串,则字符串会被转换为整数后比较。如果比较两个数字字符串,则会把它们作为整数比较,另外此规则也适用于 switch 语句。

比如:

var_dump(0 == "a");   // 返回TRUE,"a"被转为0

var_dump("1" == "01");   // 返回TRUE,当做整数处理

string或null和string的比较:将NULL 转换为 "",进行数字或字符串的比较

bool或null间的比较:转换为bool,FALSE < TRUE

object内置类可以定义自己的比较,不同类不能比较,相同类则比较属性

string,resource 或 number间的比较:将字符串和资源转换成数字,按普通数学比较

array间的比较:具有较少成员的数组较小,如果运算数 1 中的键不存在于运算数 2 中则数组间无法比较,需要逐个值比较(见如下代码)

array和任何其它类型比较:array 总是更大

object和任何其它类型比较:object 总是更大

数组比较代码:

  1. function standard_array_compare($op1$op2)  
  2. {  
  3.   if (count($op1) < count($op2)) {    //具有较少成员的数组较小 
  4.     return -1;    // $op1 < $op2  
  5.   } elseif (count($op1) > count($op2)) {  
  6.     return 1;    // $op1 > $op2  
  7.    }   
  8.  
  9.   foreach ($op1 as $key => $val) {  
  10.    if (!array_key_exists($key$op2)) {  
  11.       return null;     
  12.    } else if ($val < $op2[$key]) {  
  13.       return -1;  
  14.     } elseif ($val > $op2[$key]) {  
  15.       return 1;  
  16.      }  
  17.   }  
  18.   return 0;   // $op1 == $op2  

比较运算符中的三元运算符:

表达式 (expr1) ? (expr2) : (expr3)  当表达式expr1 的值为 TRUE 时的值为expr2,当表达式 expr1 的值为 FALSE 时的值为expr3。

以上就是比较运算符的重点内容了,文中对这些运算符和比较规则进行了解析,后面就要通过更多的练习才能把这些内容进行掌握和消化。

模板优惠价: (点击购买)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《PHP比较运算符的详细介绍》
文章链接:https://www.adminn.cn/news/34244.html
本站资源模板仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。2021.5月起,网站调整,暂不再分享免费模板。谢谢理解

Adminn.Cn 站长分享圈

帝国CMS精品模板腾讯云优惠券,代金券

本站源码仅供本地环境下学习借鉴研究使用!

源码请勿用于任何涉灰站点!净化网络,站长更有责!

支付宝扫一扫打赏