在php中,如果elseif else,如何使用三元运算符?

在php中,如果elseif else,如何使用三元运算符?,php,ternary-operator,Php,Ternary Operator,我想对if-elseif-else使用三元运算符。但这对我不起作用 请检查以下代码: $openMon = "00:01"; // The below Line Returns Time $openMon = "00:00"; // The below Line Returns Close <td><?=(($openMon == '00:00')?'Close':date("g:i a", strtotime($openMon)));?></td>

我想对if-elseif-else使用三元运算符。但这对我不起作用

请检查以下代码:

$openMon = "00:01";  // The below Line Returns Time
$openMon = "00:00";  // The below Line Returns Close

<td><?=(($openMon == '00:00')?'Close':date("g:i a", strtotime($openMon)));?></td>
我试过:

<td><?=isset((openMon == "")?'-':(($openMon == '00:00')?'Close':date("g:i a", strtotime($openMon)));?></td>

任何想法或建议都会有帮助。

您可以使用嵌套三元运算符。 同样的问题也出现了

您的代码如下所示:

$openMon = !$openMon ? "-" : ($openMon == '00:00' ? "Close" : date("g:i a", strtotime($openMon)))

您可以测试此代码段。

。。。但是,当你有一个if-else以更干净、更容易阅读的方式做同样的事情时,为什么你想要一个混乱的三元数?@Andreas感谢你的回答。我正在学习代码,所以我想学习如何在一行中使用这些东西。issetopenMon==这在if循环中有效吗?少了一美元。也不要询问是否设置了openMon==。询问是否设置了$openMon。或者如果$openMon==。你在做这两件事——单行代码是一种混乱的编码方式,当你需要调试或更改某些东西时,你会后悔的。我强烈建议你不要使用三元,如果它是两个以上的条件。我个人不会用它除非。。。嗯,我不知道该怎么说…@kerbholz谢谢你的回复。我的if-else工作正常,但我想在turnary操作符中使用。谢谢你的回复。你是一个伟大的程序员。我想学习,你教了我。谢谢。祝您愉快!顺致敬意,
if($openMon == ''){
    $openMon = "-";
}else{
    if($openMon == '00:00'){
        $openMon = "Close";
    }else{
        $openMon = date("g:i a", strtotime($openMon)));
    }
}
$openMon = !$openMon ? "-" : ($openMon == '00:00' ? "Close" : date("g:i a", strtotime($openMon)))