PHP三元运算的2种写法代码实例 首先,我们现在看一个简单的例子: 代码如下: <?php
//写法一: $a = 2; ($a == 1) ? $test = "我们" : $test = "你们"; echo $test; ?> 上述例子呢,先判断$a是否为1 如果是 将“我们”这个字符串存入$test变量里然后输出,如果不是 将“你们”这个字符串存入$test变量里然后输出; 上诉例子代码等价于: 代码如下: <?php
//写法二: $a = 2; echo $test = ($a == 1) ? "我们" : "你们";
#写法三 if($a == 1){ $test="我们"; }else{ $test="你们"; } echo $test; ?> 复杂点例子 $i = 2; echo $i == 2 ? "A" : $i == 1 ? ‘B‘ : ‘C‘; 实际执行顺序是 ($i == 2 ? "A" : $i == 1 )? ‘B‘ : ‘C‘;
相当于A ? ‘B‘ : ‘C‘; A为真,所以是B 从左向右执行 echo $a == 1 ? ‘one‘ : $a == 2 ? ‘two‘ : $a == 3 ? ‘three‘ : $a == 4 ? ‘foura‘ : ‘other‘;
实际执行顺序是
echo ( ((($a == 1 ? ‘one‘ : $a == 2) ? ‘two‘ : $a == 3 )? ‘three‘ : $a == 4 )? ‘four‘ : ‘other‘);
//结果是four;
原文:http://www.cnblogs.com/qhorse/p/4765971.html