在这个给出的例子中;
public function something($input)
{
if(something) //true case
return "something";
if(another something) //true case
return "another something";
}
$this->something('something');
Run Code Online (Sandbox Code Playgroud)
我应该使用return;以确保在第一种TRUE情况后功能不能继续运行吗?喜欢;
if(something) { //true case
return "something";
return; //stop the execution
}
Run Code Online (Sandbox Code Playgroud)
是否有必要,或者单个返回已经停止了函数的执行?
如果在函数内调用,则return语句会立即结束当前函数的执行
因此,在第一个if带有true结果的语句之后,该函数将结束.
然而,你的第二段代码却有令人困惑的缩进,最好写成:
if(something) { //true case
return "something";
}
return; //stop the execution
Run Code Online (Sandbox Code Playgroud)
...如果第一种情况为真或假,将返回并结束该函数,因此if永远不会达到第二种语句.
另一方面,如果你有:
if(something) { //true case
return "something";
return; //stop the execution
}
Run Code Online (Sandbox Code Playgroud)
然后return永远不会达到第二个,因为第一个将立即结束该功能.