如何简化这个PHP条件语句?

如何简化这个PHP条件语句?,php,Php,我试图理解一种简单/更好的方法来编写类似php条件语句的代码 <?php if (count($foo_bar) > 1) : ?> <div class="myDiv1"> Hello! </div> <?php endif; ?> <?php if (count($foo_bar) == 1) : ?> <div class="myDiv2"> Goodbye

我试图理解一种简单/更好的方法来编写类似php条件语句的代码

<?php if (count($foo_bar) > 1) : ?>

    <div class="myDiv1">
      Hello!
    </div>

<?php endif; ?>

<?php if (count($foo_bar) == 1) : ?>

    <div class="myDiv2">
      Goodbye!
    </div>

<?php endif; ?>

你好
再见!
例如,寻找并解释为什么它可能更好。谢谢


<?php
     $class = 'myDiv2'; 
     $msg = 'GoodBye!';
     if (count($foo_bar) > 1) {
       $class = 'myDiv1';
       $msg = 'Hello!';
     }
?>

    <div class="<?php echo $class; ?>">
     <?php echo $msg; ?>
    </div>

试着用一个像下面这样的工具。比这两条语句要紧凑一些

<?php if (count($foo_bar) == 1) : ?>
<div class="myDiv2">
  Goodbye!
</div>
<?php     elseif(count($foo_bar) > 1): ?>
<div class="myDiv1">
  Hello!
</div>
<?php     endif; ?>

再见!
你好

非常简单,在这种特定情况下,您不需要第二个if,因为它可以通过简单的
if-else来完成

<?php if (count($foo_bar) > 1) : ?>

    <div class="myDiv1">
      Hello!
    </div>

<?php else: ?>

    <div class="myDiv2">
      Goodbye!
    </div>

<?php endif; ?>

你好
再见!

首先,您应该只使用count函数一次。 第二,减少重复的HTML块

<?php 
$countFooBar = count($foo_bar);
if ($countFooBar == 1){
    $message = 'Goodbye! !';
    $cssClass = 'class1';
}elseif( $countFooBar > 1){
    $message = 'Hello!'
    $cssClass = 'class2';
}
?>

<div class="<?php echo $cssClass ?>">
  <?php echo $message; ?>
</div>


嵌套三元。狡猾但wicked@KhorneHoly虽然您认为CR会愉快地审查工作代码是对的,但这完全是离题的,因为它是示例代码。CR只审查实际的实现情况。@Kaz感谢您提供这些额外的信息,我不是那个里的活跃用户,所以我不熟悉那个里的确切主题。@KhorneHoly,没关系。我很高兴我能帮上忙。在这个例子中,你可以只做一个else而不是第二个ifBad格式,所以我的代码并没有全部显示出来。Naincy的答案更好,我的仍然有太多重复的元素Devil's advocate,但是如果count($foo_bar)是0呢?我想知道,但是作为现有的代码,看看我的cateat(在这个特定的情况下),没有什么可以处理这种情况,公平的说,我只是认为如果行为是“什么都不做”,它需要保存,就像什么也不做一样。就像我说的魔鬼代言人,我真的看不出在没有$foo_bar被设置为可数值的情况下,你想在哪里使用它,除了好的或坏的原因,DIV中使用的类在这个问题上也是不同的!现在它看起来很像@Naincy-answer