PHP比较运算符详解

时间:6年前   阅读:4543

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

例子                  名称                结果

$a == $b             等于                TRUE,如果类型转换后 $a 等于 $b

$a === $b            全等                TRUE,如果 $a 等于 $b,并且它们的类型也相同

$a != $b             不等                TRUE,如果类型转换后 $a 不等于 $b

$a <> $b             不等                TRUE,如果类型转换后 $a 不等于 $b

$a !== $b            不全等              TRUE,如果 $a 不等于 $b,或者它们的类型不同

$a < $b              小与                TRUE,如果 $a 严格小于 $b

$a > $b              大于                TRUE,如果 $a 严格大于 $b

$a <= $b             小于等于            TRUE,如果 $a 小于或者等于 $b

$a >= $b             大于等于            TRUE,如果 $a 大于或者等于 $b

  如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换为数值并且比较按照数值来进行。此规则也适用于 switch 语句。当用 === 或 !== 进行比较时则不进行类型转换,因为此时类型和数值都要比对

<?php
var_dump(0 == "a"); // 0 == 0 -> true
var_dump("1" == "01"); // 1 == 1 -> true
var_dump("10" == "1e1"); // 10 == 10 -> true
var_dump(100 == "1e2"); // 100 == 100 -> true

switch ("a") {
case 0:
    echo "0";//输出0
    break;
case "a": 
    echo "a";
    break;
}
?>

比较多种类型

运算数 1 类型                运算数 2 类型                结果

null 或 string              string                     将 NULL 转换为 "",进行数字或词汇比较

bool 或 null                任何其它类型                 转换为 bool,FALSE < TRUE

object                      object                     内置类可以定义自己的比较,不同类不能比较string、resource、number    string、resource、number    将字符串和资源转换成数字,按普通数学比较

array                       array                      具有较少成员的数组较小,如果运算数 1 中的键不存在于运算数 2 中则数组无法比较,否则挨个值比较

object                      任何其它类型                 object 总是更大

array                       任何其它类型                 array 总是更大

三元运算符

  "?:"三元运算符是一个比较运算符,对于表达式(expr1)?(expr2):(expr3),如果expr1的值为true,则此表达式的值为expr2,否则为expr3

<?php 
    $a = 78;//成绩
    $b = $a >=60?"及格":"不及格";
    echo $b;//及格
?>

本站声明:网站内容来源于网络,如有侵权,请联系我们https://www.qiquanji.com,我们将及时处理。

微信扫码关注

更新实时通知

上一篇:ecshop商品销量后台添加虚拟销量以及前台显示销量

下一篇:50ETF怎么行使期权交易指令?

网友评论

请先 登录 再评论,若不是会员请先 注册