PHP函数中的多个return语句

时间:2010-11-17 07:30:30

标签: php

我有以下PHP函数

function newUser($username, $password) {
     $checkUsernameAvailablity = check($username);
     if (!$checkUsernameAvailablity)
         {
           return -1;
         } 

         $checkPasswordComplexity = checkpass($password);
         if (!$checkPasswordComplexity)
         {
           return -2
         }

}

我想知道是否使用了用户名并且密码不够复杂,PHP会在返回-1后停止该函数,还是会继续并返回-2。

提前致谢, RayQuang

3 个答案:

答案 0 :(得分:6)

当执行到达return语句时,该函数将停止并返回该值,而不再处理该函数。

答案 1 :(得分:3)

return语句返回值并终止函数的执行。如果return被命中,则不会在该主体中执行更多代码。

顺便说一句,并非所有代码路径都有返回值。

答案 2 :(得分:1)

你的功能设计是错误的。

当函数相应结束时,我会返回不同的值。

对于多次返回,我会使用switch或设计合理的IF语句。

或者更好地返回一个关联数组。