代码之家  ›  专栏  ›  技术社区  ›  Rayhaan Jaufeerally

PHP函数中有多个返回语句

php
  •  3
  • Rayhaan Jaufeerally  · 技术社区  · 14 年前

    我有以下PHP函数

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

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

    事先谢谢, 雷泉

    3 回复  |  直到 14 年前
        1
  •  3
  •   Alex    14 年前

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

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

        2
  •  6
  •   Reese Moore    14 年前

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

        3
  •  1
  •   Oliver M Grech    14 年前

    您的功能设计错误。

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

    对于多次返回,我将使用switch或适当设计的if语句。

    或者最好返回关联数组。