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

时间:2017-02-09 16:35:35

标签: 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!
    </div>

<?php endif; ?>

寻找例子,并解释为什么它可能会更好。谢谢!

4 个答案:

答案 0 :(得分:2)

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

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

答案 1 :(得分:2)

很简单,在这种特殊情况下你不需要第二个,如果可以通过一个简单的if else

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

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

<?php else: ?>

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

<?php endif; ?>

答案 2 :(得分:1)

尝试使用下面的elseif。比2个陈述更紧凑。

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

答案 3 :(得分:1)

首先,你应该只计数一次。 其次,减少重复的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>