如何简化这个PHP条件语句?
我试图理解一种简单/更好的方法来编写类似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 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