“PHP7”的版本间的差异
来自tomtalk
								
												
				 (→组合比较运算符)  | 
				 (→空合并运行符??)  | 
				||
| 第25行: | 第25行: | ||
==空合并运行符??==  | ==空合并运行符??==  | ||
| − | + | ||
| − | + | PHP 7引进了空合并运行符??,空值合并运行符,英文名叫the null coalescing operator,符号写作??。  | |
| − | + | ||
| − | PHP 7引进了空合并运行符??,空值合并运行符,英文名叫the null coalescing operator,符号写作??  | + | 语法形如  | 
| − | + | ||
| + | <source lang="php">  | ||
| + | $a = $b ?? $c;    | ||
| + | </source>  | ||
| + | |||
| + | 意思是:如果变量 $b 已经定义,没有被注销,并且不为null, 就将 $b 的值赋给变量 $a, 否则将变量 $c 的值赋给变量 $a.  | ||
| + | |||
| + | 相当三元运算的   | ||
| + | |||
| + | <source lang="php">  | ||
| + | $a = isset($b) ? $b : $c;    | ||
| + | </source>  | ||
| + | |||
或者条件结构运算  | 或者条件结构运算  | ||
| + | |||
| + | <source lang="php">  | ||
if( isset($b) ){  | if( isset($b) ){  | ||
| − | + |     $a = $b;  | |
} else {  | } else {  | ||
| − | + |     $a = $c;  | |
}  | }  | ||
| − | + | </source>  | |
| + | |||
注意:PHP null合并运算符??前面的变量不存在时不会报错,但如果??后面的变量没有定义,则会触发E_NOTICE级别的错误。  | 注意:PHP null合并运算符??前面的变量不存在时不会报错,但如果??后面的变量没有定义,则会触发E_NOTICE级别的错误。  | ||
2017年10月24日 (二) 09:32的最后版本
<=>组合比较运算符
太空船操作符,即 <=>,又称组合比较运算符,结合比较运算符。
组合比较运算符,英文叫作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条件语句写得更多,现在是不是简单多了?
空合并运行符??
PHP 7引进了空合并运行符??,空值合并运行符,英文名叫the null coalescing operator,符号写作??。
语法形如
$a = $b ?? $c;
意思是:如果变量 $b 已经定义,没有被注销,并且不为null, 就将 $b 的值赋给变量 $a, 否则将变量 $c 的值赋给变量 $a.
相当三元运算的
$a = isset($b) ? $b : $c;
或者条件结构运算
if( isset($b) ){ $a = $b; } else { $a = $c; }
注意:PHP null合并运算符??前面的变量不存在时不会报错,但如果??后面的变量没有定义,则会触发E_NOTICE级别的错误。