可以使用哪些控制结构来代替多个嵌套的 IF 语句。
例如:
function change_password($email, $password, $new_password, $confirm_new_password)
{
if($email && $password && $new_password && $confirm_new_password)
{
if($new_password == $confirm_new_password)
{
if(login($email, $password))
{
if(set_password($email, $new_password))
{
return TRUE;
}
}
}
}
}
这个函数是这样使用的:
if(!change_password($email, $password, $new_password, $confirm_new_password)
{
echo 'The form was not filled in correctly!';
exit;
}
我这样调用我的所有函数,我想知道我的编码风格是否有问题。我有疑问,因为如果我遵循这个设计,那么这意味着我编写的每个函数都将嵌套在 IF 中,检查每个阶段是否存在错误。这是别人做的吗?
我没有看到很多其他这样编写的脚本,嵌套的 IF 形成一个三角形,并且只有在中间有所需的结果。如果没有达到中间,那么事情就搞砸了。
这是一个好的函数结构吗?