PHP7

来自tomtalk
Tom讨论 | 贡献2017年10月24日 (二) 09:28的版本 组合比较运算符

跳转至: 导航搜索

<=>组合比较运算符

太空船操作符,即 <=>,又称组合比较运算符,结合比较运算符。

组合比较运算符,英文叫作combined comparison operator,符号为<=>,它有一个形象的名字,叫作太空船操作符。组合比较运算符可以轻松实现两个变量的比较,当然不仅限于数值类数据的比较。

语法是这样的:

$c = $a <=> $b;

这句代码的意思是

  • 如果$a > $b, $c 的值为1
  • 如果$a == $b, $c 的值为0
  • 如果$a < $b, $c 的值为-1

在没有太空船运算符的时候,我们只能这样写代码

$c = $a > $b ? 1 : ( $a==$b ? 0 : -1 );

或者用if else条件语句写得更多,现在是不是简单多了?

空合并运行符??

电梯直达 跳转到指定楼层 1#

Nokia 发表于 2015/11/8 03:50 | 只看该作者 回帖奖励

PHP 7引进了空合并运行符??,空值合并运行符,英文名叫the null coalescing operator,符号写作??,语法形如 $a = $b ?? $c; 意思是:如果变量 $b 已经定义,没有被注销,并且不为null, 就将 $b 的值赋给变量 $a, 否则将变量 $c 的值赋给变量 $a. $a = $b ?? $c; 相当三元运算的 $a = isset($b) ? $b : $c; 或者条件结构运算 if( isset($b) ){

       $a = $b;

} else {

       $a = $c;

} 复制代码 注意:PHP null合并运算符??前面的变量不存在时不会报错,但如果??后面的变量没有定义,则会触发E_NOTICE级别的错误。