ここでブレークを使用する必要がありますか、それともループを停止して一度だけ戻りますか?
for($i = 0; $i < 5; $i ++) {
if($var[$i] === '') return false;
// break;
}
ありがとうございました!
一度だけ実行され、ループを停止して、関数/メソッドを終了します。
これは悪いスタイルだと主張することもできます。後でreturn
を見落とすことは非常に簡単です。これは、デバッグとメンテナンスには適していません。
break
の方がきれいかもしれません:
for($i = 0; $i < 5; $i ++) {
if($var[$i] === '')
{ set_some_condition;
break;
}
}
if (some_condition)
return;
return
を使用すると、関数(またはスクリプト全体)が返されます-その後のすべてのコードは実行されません。だからあなたの質問に答えるために:break
はここでは必要ありません。ただし、break
がここでコメント化されていない場合、ループは1回の反復後に停止します。これは、ifステートメントが中かっこ({ ... }
)を使用していないため、return
ステートメントのみをカバーしているためです(つまり、例のbreak
は常に実行されます)。
更新:
PHP 7にはreturn
が必要です。ループはreturn
で終了するため、break;
は必要ありません。
break;
は通常、必要なアイテムを見つけたときにスイッチまたはループで使用されます。
例:
$items = ['a' , 'b' , 'c'];
foreach($items as $item)
{
if($item == 'a')
{
return true; // the foreach will stop once 'a' is found and returns true.
}
return false; // if 'a' is not found, the foreach will return false.
}