[英]PHP: Is there an alternative to using multiple if-statements?
我正在编写一些需要检查用户登录详细信息是否正确的代码,因此我需要很多相互之间的 if 语句。 如果 if 语句中的任何条件不成立,它们都应该返回相同的值。 有没有一种简单的方法可以做到这一点,而不是多次编写相同的内容? 我在下面做了一个例子来可视化我的问题。 正如你在这里看到的,我多次写“ else { return false; }”,这就是我想知道你是否能够更有效地做的事情。 也许所以我只需要写一次“否则返回错误”。
//some code
if (/*some condition*/) {
//some code
if (/*some new condition*/) {
//some code
if (/*some new condition*/) {
//some code
} else {
return false;
}
} else {
return false;
}
} else {
return false;
}
我很难找到解释我的问题的好方法,所以如果你有更优雅的解释方式,请不要犹豫编辑我的帖子。 我也不太确定标题是否尽可能好,所以如果您对替代品有任何想法,请说出来:)
假设您有类似的东西(我添加了否):
if ( condition1 ) {
//some code 1
if ( condition 2 ) {
//some code 2
if ( condition 3 ) {
//some code 3
} else {
return false;
}
} else {
return false;
}
} else {
return false;
}
由于每次条件为假时,您退出 function 返回false
,您可以使用否定直接测试条件是否为假(如果否定条件为真):
if ( !condition1 ) {
return false;
}
//some code 1
if ( !condition2 ) {
return false;
}
//some code 2
if ( !condition3 ) {
return false;
}
//some code 3
这不会减少 if 语句的数量,但可以避免许多嵌套级别。
if
通过将它们与&&
组合,将它们全部放在一个中。
if (condition1 && condition2 && condition3) {
// some code
} else {
return false;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.