<?php /**** 布尔教育 高端PHP培训 培 训: http://www.itbool.com 论 坛: http://www.zixue.it ****/ //利用三元运算符,求3个数中的最大值。 $a = 15; $b = 10; $c = 18; $d = null; /*if ($a>=$b) { $d = $a; }else{ $d = $b; } //常规思路的理解即是如此,但终究还是繁琐, //两个三元运算符的嵌套。 if ($c>=$d) { $d = $c; }else{ $d = $d; }*/ $d = ($a>=$b? $a : $b); $d = ($d>=$c? $d : $c); //简化代码之路,任重道远。关键在于思考。 //多思多学,方是正道。 //也许,我还只是个未入门的小工。只好自勉之。 var_dump($d); ?>
语法:条件 ? 结果1 : 结果2
说明:问号前面的位置是判断的条件,如果满足条件时结果1,不满足时结果2。
?: 运算符可以用作 if...else 语句的快捷方式。它通常用作较大表达式(使用 if...else 语句会很繁琐)的一部分。
例如:
echo "<br />"; var now = new Date();//此例取于百度百科,可以理解表面,但不同内在,日后若通,补之。 var greeting = "Good" + ((now.getHours() > 18) ? " evening." : " day."); //在此例中,如果晚于下午 6 时,则创建一个包含 "Good evening." 的字符串。 //使用 if...else 语句的等效代码如下: var now = new Date(); var greeting = "Good"; if (now.getHours() > 18){ greeting += " evening."; }else{ greeting += " day."; }
另一种参考:http://www.cnblogs.com/leejersey/archive/2012/11/09/2762851.html