我对使用这个三元运算符感到困惑,我可以很容易地获得 1 级 if 和 else 例如
($blah == $blah) ? blahblah : blahblahblah;
但是如果条件是这样呢?
if($blah == blah1)
{
echo $blah1;
}
else if($blah == blah2)
{
echo $blah2;
}
else
{
echo $blah;
}
如何使用三元运算符进行转换?
我对使用这个三元运算符感到困惑,我可以很容易地获得 1 级 if 和 else 例如
($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);