返回“某物”;返回;- 第二个参数是否有用途


return "something"; return; - does the second parameter has a purpose?

在这个给定的例子中;

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
}

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

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

— http://php.net/return

因此,在第一个具有真实结果的if语句之后,函数结束。

但是,您的第二段代码具有令人困惑的缩进,最好写成:

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

。如果第一种情况为 true 或 false,将返回并结束函数,因此永远不会到达第二个 if 语句。

另一方面,如果您有:

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

然后永远不会到达第二个return,因为第一个将立即结束函数。

一旦 PHP 满足了第一个返回,它下面的代码就不会运行。

停止所有执行(如果返回错误(,将exit;

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

在第一段代码中,您绝对应该在末尾有一个return nullreturn false,以防它不符合任何条件。