在这个给定的例子中;
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
}
是否有必要,或者单个返回已经停止了函数的执行?
答案 0 :(得分:6)
如果在函数内调用,则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 null
或return false
。