1

我对使用这个三元运算符感到困惑,我可以很容易地获得 1 级 if 和 else 例如

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

但是如果条件是这样呢?

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

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

4

4 回答 4

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

请注意如何将else包裹在括号中。这可以一次又一次地完成,尽管阅读起来会变得混乱。

于 2012-11-23T00:33:01.973 回答
3

嵌套三元组是个坏主意。提供它们是为了简洁。如果您有嵌套条件,则根据定义,您没有简洁性。

当你有一个简洁的陈述时,有些人甚至不喜欢使用它们。if就个人而言,我发现以下内容比基于 - 的替代方案更清晰易读。

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

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

于 2012-11-23T00:34:12.260 回答
1

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

于 2012-11-23T00:34:22.527 回答
0

它会变成:

echo (($blah == $blah1) ? $blah1 : (($blah == blah2) ? $blah2 : $blah);
于 2012-11-23T00:34:24.410 回答