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

图3-23 合并运算符
组合运算符用于比较两个表达式$a和$b,$a小于、等于或大于$b分别返回-1、0或1。
【例3.23】(实例文件:源文件\ch03\3.23.php)
<?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-24所示。

图3-24 组合运算符