繁体   English   中英

如何在PHP中使用三元运算符嵌套if和else语句?

[英]how to nest if and else statement using ternary operator in PHP?

与使用此三元运算符相混淆,如果和其他情况,我可以轻松获得1级

($blah == $blah) ? blahblah : blahblahblah;

但是如果条件是这样呢?

if($blah == blah1)
{ 
  echo $blah1;
}
else if($blah == blah2)
{
 echo $blah2;
}
else
{
 echo $blah;
}

如何使用三元运算符转换?

<?php echo $blah == 'blah1' ? $blah1 : ($blah == 'blah2' ? $blah2 : $blah); ?>

注意else如何用括号括起来。 尽管它会使阅读变得混乱,但可以一次又一次地进行。

嵌套的三元组是个坏主意。 提供它们是为了简洁。 如果您具有嵌套条件,那么根据定义,您就不那么简短了。

当您有一个简洁的陈述时,有些人甚至不喜欢他们的用法。 我个人认为以下内容比基于if的替代方法更清晰易读。

echo $success ? 'Success' : 'Failure';

但是我会做任何比这更复杂的事情。

($ blah == $ blah1)吗? $ blah1:((($ blah == $ blah2)?$ blah2:$ blah);

它将变成:

echo (($blah == $blah1) ? $blah1 : (($blah == blah2) ? $blah2 : $blah);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM