在这个给定的例子中;
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 null
或return false
,以防它不符合任何条件。