PHP if子句基本问题

时间:2011-01-31 09:55:58

标签: php if-statement

一个简单的问题

这之间的区别是什么:

if($posted_quantity <= $current_quantity) {
    if($posted_quantity >= $min_allowed_quantity && $posted_quantity <= $max_allowed_quantity){
        //do something
    }
}

和此:

if($posted_quantity <= $current_quantity && ($posted_quantity >= $min_allowed_quantity && $posted_quantity <= $max_allowed_quantity)){
    //do something
}

如果可能的话,那两者之间有什么区别,哪一个更好用,非常感谢

编辑:我目前正在进行测试,我似乎没有发现任何问题使用这两种方法,我没有任何余地,我只是想做一些事情整个条件得到满足(限制用户的数量),我只是好奇哪一个是更好的方法,哪一个更快,可读,像那样

9 个答案:

答案 0 :(得分:1)

我在那里没有任何elseelseif条款,它们完全相同。虽然我认为你原来的情况已经错了:

$posted_quantity <= $min_allowed_quantity && $posted_quantity >= $max_allowed_quantity

如果$posted_quanitiy max范围,则属实。

答案 1 :(得分:1)

确实可能。

从功能上讲,它们是等价的,所以区别在于可读性,所以请选择最容易理解的那个。

就个人而言,我会按照

的方式做点什么
if ($posted_quantity <= $current_quantity &&
    $posted_quantity <= $min_allowed_quantity &&
    $posted_quantity >= $max_allowed_quantity) {
    //do something
}

以使其更具可读性。

答案 2 :(得分:1)

如果条件的样式都有效,则在单个条件语句中使用它似乎没有任何区别

希望它能帮助!!

答案 3 :(得分:0)

它是一样的。第一个的优点是能够为第二个if和readability设置else子句。

答案 4 :(得分:0)

他们以同样的方式做同样的事情。在这两种情况下,如果第一个条件返回false,则不评估第二个条件。

答案 5 :(得分:0)

如果你没有'else'条款,你的第一个if就没用了。 Imo,第二个可能有点快,因为php不必解析2'if'。但我不确定。

答案 6 :(得分:0)

第一个允许您为每个评估语句分别使用else子句。如果第一个语句为假,则可能希望发生不同的事情,而不是第二个语句为假。

答案 7 :(得分:0)

两者都是一样的。 我认为这是你的编程技巧,一个使用取决于你(对你和其他人很容易理解这个代码的击球手感)

答案 8 :(得分:0)

OFC。一切皆有可能! ;)

if($posted_quantity <= $current_quantity && ($posted_quantity <= $min_allowed_quantity && $posted_quantity >= $max_allowed_quantity)){
  //do something
}

如果您总是需要检查所有这些,那就一样! 但如果你需要像这样检查:

if($posted_quantity <= $current_quantity){
  if($posted_quantity <= $min_allowed_quantity){
        //do something
  }
  elseif($posted_quantity >= $max_allowed_quantity){
        //do something else
  }
}
那么它会分开! :)