我试图将if语句转换为三元运算符
这是我的代码:
if($today >= $visa_expiry) {
echo "style='background-color : red; font-weight: bold; color: white; font-size: 13'";
}
if($today <= $visa_expiry) {
echo "style='background-color : yellow; font-weight: bold; color: white; font-size: 13'";
}
if($today == $visa_expiry) {
echo "style='background-color : green; font-weight: bold; color: white; font-size: 13'";
}
到三元运营商
有人能帮帮我吗?谢谢注意:我的if语句只是一个例子
答案 0 :(得分:2)
可能的解决方法是在前面的三元返回false时使用另一个三元组:
<?php
$today = 5;
$expiry = 7;
$visaexpiry = ($today < $expiry ? 'yellow': ($today ==$expiry? 'green': ($today>$expiry? 'red': 'nothing')));
echo $visaexpiry;
?>
答案 1 :(得分:0)
我真的不明白你为什么要在这里使用三元组。正如其他人所提到的,这应该是if
/ else if
/ else
。此外,在您的示例中,可以同时满足所有三个条件。
无论如何,这里有一个用三元运算符表达的一种可能方式的简化例子:
$bg = "green"; // default, assuming $today == $visa_expiry
$bg = $today > $visa_expiry ? "red" : $bg;
$bg = $today < $visa_expiry ? "yellow" : $bg;
请注意,此 将评估这两个条件,即使未满足这两个条件,并将$bg
变量分配给自身,最多两次。不好,但是一个有效的解决方案。