如果条件最好的做法

时间:2016-06-01 13:24:27

标签: php

我有以下功能:

if(A==B)
{
  //do stuff
}

if(C==B)
{
  //do stuff
}
if(A==B)
   {
      //do stuff
   }
   else if(C==B)
   {
     //do stuff
}  

这两者有什么区别?我理解它的意思,但我看到程序员更喜欢第一个而不是第二个?为什么?

我个人更喜欢第二个。

4 个答案:

答案 0 :(得分:0)

这主要是一个偏好问题。我看到许多程序员使用这两种情况而不管实际功能如何。

但如果你想要两个条件绝对地被贬值,那么正确使用第一种情况,第二种情况作为嵌套条件。

在第一种情况下,如果elseif条件为假,则仅执行两者使其慢于第二种情况,因为它仅检查if

$var = 1;

if($var+1 ==2)
{
  echo "test1";
}

if($var-0==1)
{
  echo "test2";
}


if($var+1==2)
{
    echo "test1";
}
else if($var-0==1)
{
    echo "test2";
}

将输出

test1test2test1

所以我们看到,数字2忽略了elseif,这使得它更快。

答案 1 :(得分:0)

在第一个条件中,两个陈述都是相同的,因为它们彼此独立,因此所有这些陈述都将被测试。

if(A==B)
{
  //do stuff
}

if(C==B)
{
  //do stuff
}

在第二个if中,如果只是嵌套在if的内部,那么只有一个将被测试,无论是否ifif

if(A==B)
{
  //do stuff
}
else if(C==B)
{
  //do stuff
}

答案 2 :(得分:0)

不一样。

如果第一个条件为真,则不执行(C == B)(即使C等于B)。

没有"否则",即使第一个条件为真,也会执行(C == B)(在这种情况下A == C:)

答案 3 :(得分:0)

如果只有一个变量相等并且需要运行相同的代码,那么最好使用第一个代码,这样就不会有性能损失。但是如果你需要根据你的变量运行不同的代码,那么第二个更好。