加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

当调用PHP函数并返回某些内容时,是否会停止运行下面的代码?

发布时间:2020-12-13 22:06:58 所属栏目:PHP教程 来源:网络整理
导读:我现在正在研究其他用户的 PHP代码,以便更好地理解和学习.在下面的代码中,它是用户类的一部分.当我使用if / else块进行编码时,我将它们格式化为… if(!$this-isLoggedIn()){ //do stuff} 但是在下面的代码中它更像是这样 if (! $this-isLoggedIn()) return f
我现在正在研究其他用户的 PHP代码,以便更好地理解和学习.在下面的代码中,它是用户类的一部分.当我使用if / else块进行编码时,我将它们格式化为…

if(!$this->isLoggedIn()){
    //do stuff
}

但是在下面的代码中它更像是这样

if (! $this->isLoggedIn())
    return false;

同样在下面的函数中,您可以看到有几次可以有RETURN值.所以我的问题在于,当调用RETURN时,它之后是否运行任何代码?就像它结束那个功能的脚本那样?

在这种情况下,如果这是…

if (! $this->isLoggedIn())
        return false;

它会继续运行下面的代码吗?

这是功能

<?PHP
private function logout($redir=true)
{
    if (! $this->isLoggedIn())
        return false;

    $this->obj->session->sess_destroy();

    if ($this->isCookieLoggedIn())
    {
        setcookie('user','',time()-36000,'/');
        setcookie('pass','/');
    }
    if (! $redir)
        return;

    header('location: '.$this->homePageUrl);
    die;
}
?>

解决方法

是.

当PHP看到一个返回命令时,它会停止执行并将其返回到调用它的任何内容.这包括包含,功能执行,方法执行等.

在下文中,“测试”永远不会回应:

$test = "test";
return;
echo $test;

如果您在包含的文件中,return将停止执行,包含它的文件将完成执行.

其中一个用例与您描述的类似:

public function echoString($string)
{
    if(!is_string($string))
    {
        return;
    }
    echo $string;
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读