回归“某事”;返回; - 第二个参数有用吗?

时间:2013-05-31 08:10:49

标签: php

在这个给定的例子中;

public function something($input)
{
    if(something) //true case
       return "something";

    if(another something) //true case
       return "another something";
}

$this->something('something');

我应该使用return;确保在第一个TRUE案例之后函数无法继续运行吗?等;

if(something) { //true case
    return "something";
    return; //stop the execution
}

是否有必要,或者单个返回已经停止了函数的执行?

3 个答案:

答案 0 :(得分:6)

  

如果在函数内调用,则return语句会立即结束当前函数的执行

- http://php.net/return

所以在带有true结果的第一个if语句之后,函数结束。

然而,你的第二段代码却有令人困惑的缩进,最好写成:

if(something) { //true case
    return "something";
}
return; //stop the execution
如果第一种情况为真或假,

...将返回并结束该函数,因此永远不会达到第二个if语句。

另一方面,如果你有:

if(something) { //true case
    return "something";
    return; //stop the execution
}

然后永远不会达到第二个return因为第一个会立即结束该功能。

答案 1 :(得分:0)

PHP完成第一次返回后,其下的代码将无法运行。

要停止所有执行(如果返回时出错),将为exit;

答案 2 :(得分:0)

在您的最后一段代码中,您可以省略最后一个return,因为它永远不会到达那里。

在第一段代码中,如果没有匹配任何条件,您最后应该有一个return nullreturn false