php 三元运算符使用说明和写法
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;