0

この例では、

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
}

それは必要ですか、それとも単一のリターンはすでに関数の実行を停止していますか?

4

3 に答える 3

6

関数内から呼び出された場合、return ステートメントは現在の関数の実行を直ちに終了します。

http://php.net/return

そのため、結果が trueの最初のifステートメントの後、関数終了します。

ただし、2 番目のコードはわかりにくいインデントがあり、次のように記述した方が適切です。

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

…は、最初のケースが true または false の場合に関数を返して終了するため、2 番目のifステートメントに到達することはありません。

一方、あなたが持っていた場合:

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

最初の関数はすぐに関数を終了するため、2 番目returnの関数には到達しません。

于 2013-05-31T08:11:57.107 に答える
0

最初のリターンが PHP によって満たされると、その下のコードは実行されません。

すべての実行を停止するには (return でエラーが発生した場合)、次のようになります。exit;

于 2013-05-31T08:12:11.370 に答える
0

コードの最後のビットでは、そこに到達しないため、最後returnを省略することができます。

コードの最初のビットでは、どの条件とも一致しなかった場合に備えて、最後に必ずreturn nullorを付ける必要があります。return false

于 2013-05-31T08:12:51.200 に答える