我有以下功能:
if(A==B)
{
//do stuff
}
if(C==B)
{
//do stuff
}
if(A==B)
{
//do stuff
}
else if(C==B)
{
//do stuff
}
这两者有什么区别?我理解它的意思,但我看到程序员更喜欢第一个而不是第二个?为什么?
我个人更喜欢第二个。
答案 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)
如果只有一个变量相等并且需要运行相同的代码,那么最好使用第一个代码,这样就不会有性能损失。但是如果你需要根据你的变量运行不同的代码,那么第二个更好。