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

Ari*_*ona 0 php

在这个给出的例子中;

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)

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

Que*_*tin 6

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

- http://php.net/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永远不会达到第二个,因为第一个将立即结束该功能.