
上QQ阅读APP看书,第一时间看更新
3.9 PHP 7的新变化3——合并运算符和组合运算符
PHP 7新增加的合并运算符“??”用于判断变量是否存在且值不为NULL,如果是,它就会返回自身的值,否则返回它的第二个操作数。
语法格式如下:
(expr1) ? ? (expr2)
如果表达式expr1为真,就返回expr1的值;如果表达式expr1为假,就返回expr2。
【例3.23】(实例文件:源文件\ch03\3.23.php)
<?php $a = '酒店还有房间'; $b = $a ?? '酒店已经没有房间'; echo $b; ?>
本程序的运行结果如图3-24所示。

图3-24 合并运算符
PHP 7新增加的组合运算符用于比较两个表达式$a和$b,$a小于、等于或大于$b分别返回-1、0或1。
<?php // 整数比较 echo( 5 <=> 5);echo "<br>"; echo( 5 <=> 6);echo "<br>"; echo( 6 <=> 5);echo "<br>"; // 浮点数比较 echo( 5.6 <=> 5.6);echo "<br>"; echo( 5.6 <=> 6.6);echo "<br>"; echo( 6.6 <=> 5.6);echo "<br>"; echo(PHP_EOL); // 字符串比较 echo( "a" <=> "a");echo "<br>"; echo( "a" <=> "b");echo "<br>"; echo( "b" <=> "a");echo "<br>"; ?>
本程序运行结果如图3-25所示。

图3-25 组合运算符