首页 PHP教程 一篇文章告诉你PHP三元运算符

一篇文章告诉你PHP三元运算符

如果条件“expr1”成立,则执行语句“expr2”,否则执行“expr3”。

示例代码如下:

<?php

$a = 10;

$a % 2 == 0 ? print '$a 是偶数!' : print '$a 是奇数!';

?>

运行结果如下:

$a 是偶数!

另外 expr2 和 expr3 也可以使用单引号('')或双引号("")来省略其中的任意一个,来避免不必要的代码,如下所示:

<?php

$a = 10;

$b = 7;

$a % 2 == 0 ? print '$a 是偶数!<br>' : "";

$b % 2 == 0 ? '' : print '$b 是奇数!';

?>

运行结果如下:

$a 是偶数! $b 是奇数!

注意:使用三元运算符时,如果需要打印字符串,建议使用 print 语句替代 echo 语句。

不仅如此,三元运算符还可以扩展使用,当设置的条件成立或不成立,执行语句都可以不止一句,语法格式如下:

(expr1) ? (expr2).(expr3) : (expr4).(expr5);

可以看到,多个执行语句之间可以使用用字符串运算符“.”连接起来,各个执行语句用小括号包裹起来以表明它是一个独立而完整的执行语句。 同时三元运算符还可以嵌套使用,示例如下所示例:

<?php

$a = 10;

$b = 6;

$c = 12;

$x = $a>$b ? ($a<$c ? $c-$a : $a-$c) : ($b<$c ? $c-$b : $b-$c);

echo '$x ='.$x;

?>

注意,第五行的赋值操作会等待三元运算符执行完后才会执行。 运行结果如下:

$x =2

嵌套使用的三元运算符虽然可以节省很多代码,但是可读性不太好,日后代码维护起来也很不方便,所以像这种情况我们尽量使用 if else 语句来实现。

关于作者: dawei

【声明】:佛山站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

热门文章