オブジェクトを処理するときに、通常、次のようにforeachを使用してループする状況があります。
foreach ($main_object as $key=>$small_object) {
...
}
しかし、私はこのようにそこに条件を置く必要があります:
foreach ($main_object as $key=>$small_object) {
if ($small_object->NAME == "whatever") {
// We found what we need, now see if he right time.
if ($small_object->TIME == $sought_time) {
// We have what we need, but how can we exit this foreach loop?
}
}
これを行うためのエレガントな方法は何ですか?一致が見つかった場合にループし続けるのは無駄です。それとも、これを行うための別のアプローチがありますか?おそらくforeachの代わりにforを使用していますか?
PHPドキュメントから:
break
は、現在のfor、foreach、while、do-while、またはswitch構造の実行を終了します。
したがって、はい、それを使用してforeachループから抜け出すことができます。
If条件内でbreak
ステートメントを使用します。
if ($small_object->TIME == $sought_time) {
break;
}
break
ステートメントはループから抜け出します。