在php中,比较运算符是允许对两个值进行比较的一种符号;当用运算符比较两个值时,结果是一个逻辑值:TRUE(成立)或FALSE(不成立)。php比较运算符中,“==”和“===”可进行相等比较,“!=”、“<>”和“!==”可进行不相等比较,“<”、“>”、“<=”和“>=”可进行大小比较。
本教程操作环境:windows7系统、PHP8.1版、DELL G3电脑
php中的比较运算符
比较运算符,如同它们名称所暗示的,允许对两个值进行比较。
当用运算符比较两个值时,结果是一个逻辑值,不是 TRUE(成立) 就是 FALSE(不成立)的运算符号。
PHP中的比较运算符如下表所示:
例子 | 名称 | 结果 |
---|---|---|
$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。 |
$a <=> $b | 太空船运算符(组合比较符) | 当$a小于、等于、大于$b时 分别返回一个小于、等于、大于0的 int 值。 |
$a ?? $b ?? $c | NULL合并操作符 | 从左往右第一个存在且不为 NULL 的操作数。如果都没有定义且不为 NULL,则返回 NULL。PHP7开始提供。 |
数字与字符串比较
如果比较一个数字和字符串或者比较涉及到数字内容的字符串,则字符串会被转换为数值并且比较按照数值来进行。但当用 === 或 !== 进行比较时则不进行类型转换,因为此时类型和数值都要比对。
例如:
<?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 ?>
类型转换
关于不同类型比较之中的类型转换
比较运算符的使用
比较运算符常用在 if 条件语句中,用来判断程序该跳转到哪个分支;
if 语句相当于生活中从一个起点到达多个终点,有很多条岔路,该走哪一条需要我们选择、判断;
比较运算常用在条件判断语句中,对于 “==”,当左右两端相等时,返回TRUE,否则返回FALSE;
对于 “==” ,两端的操作数相等,数值要相等,操作数的类型也要一样,才会返回TRUE,否则返回FALSE;
比较运算符的运算过程,例子:
<?php $a=36; $b=30; echo "判断a是否等于b:"; echo $a == $b; echo "rn"; echo "判断a是否大于b:"; echo $a>$b; echo "rn"; echo "判断a是否小于b:"; echo $a<$b; echo "rn"; ?>
执行结果如下所示:
if判断语句
a.单分支 语法:
if(条件){ //代码 }
如果if块中就一句代码,则大括号是可以省略的。
if(20>10)echo 'true';
替代语法 { = : } = endif
if(20>10): echo 'true'; endif; for(): endfor;
b.双分支 语法:
if(条件){ //代码 }else{ //代码 }
c.多分支 语法:
if(条件){ //代码 }elseif(条件){ //代码 }else{ //代码 }
补:多路选择 语法:
switch(表达式){ case 常量: 代码; break; case 常量: 代码; break; default: 匹配失败 }
推荐学习:《PHP视频教程》
前端(VUE)入门到精通:立即学习