PHP三元运算符的简写形式

语法为:条件表达式?表达式1:表达式2。

说明:问号前面的位置是判断的条件,判断结果为bool型,为true时调用表达式1,为false时调用表达式2。

其逻辑为:“如果条件表达式成立或者满足则执行表达式1,否则执行第二个。”常用在设置默认值,例如某个值不一定存在,则判断这个值是否存在,不存在给默认值(表达式2)。

一般来说PHP里的if else写成这样:

if($a == 1){
   $test="企业";
}else{
   $test="地区";
}
echo $test;

上述例子呢,先判断$a是否为1 如果是 将“企业”这个字符串存入$test变量里然后输出,如果不是 将“地区”这个字符串存入$test变量里然后输出;如果用简写形式可以写成:

$a = 2;
($a == 1) ? $test = "企业" : $test = "地区";#写法一
echo $test;

或者写成这样:

$a = 2;
$test = ($a == 1) ? "企业" : "地区";
echo $test;

三元运算符还可以堆叠来写,堆叠三元运算符,唯一原则从左到右依次

<?php
echo 0 ?: 1 ?: 2 ?: 3; //1
echo 1 ?: 0 ?: 3 ?: 2; //1
echo 2 ?: 1 ?: 0 ?: 3; //2
echo 3 ?: 2 ?: 1 ?: 0; //3
 
echo 0 ?: 1 ?: 2 ?: 3; //1
echo 0 ?: 0 ?: 2 ?: 3; //2
echo 0 ?: 0 ?: 0 ?: 3; //3
?>

代码 2020-05-13 17:56:39 通过 网页 浏览(2574)

共有0条评论!

发表评论