条件内的条件(简短形式)

时间:2016-06-26 15:05:49

标签: php if-statement

我有以下条件,即如果$img[$i]true,则会在代码中创建一个图片:

<?= !$img[$i] ? "" : "<div class=\"image\"> <img src=\"/images/1.gif\" /></div>"; ?>

我想添加另一个条件,即如果$center=true,则会将一个名为centered的类添加到图像中,因此最终代码将如下所示:

<div class="image"><img src="images/1.gif" class="centered"/></div>

所以基本上这意味着将另一个条件放在上一个条件中,但我不能在代码中间添加!$center ? '' : ' class="centered"'

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:1)

是的,你可以'把它放在中间':

<?= $img[$i] ? '<div class="image"> <img src="/images/1.gif"'.($center ? ' class="centered"' : '').' /></div>' : ''; ?>

但那很难看,你不同意吗?我现在假设你输出HTML代码是什么。然后我可以将您的代码重写为:

if ($img[$i]) {
  echo '<div class="image">'.PHP_EOL;
  echo '  <img src="/images/1.gif"'.($center ? ' class="centered"' : '').' />'.PHP_EOL;
  echo '</div>'.PHP_EOL;
}

我觉得它看起来更好,因为它更容易阅读。