Ответ 1
Из документации PHP:
break
завершает выполнение текущего, foreach, while, do-while или структуры коммутатора.
Итак, да, вы можете использовать его, чтобы выйти из цикла foreach.
У меня есть ситуация, когда при работе с объектом я обычно использую 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?
Из документации PHP:
break
завершает выполнение текущего, foreach, while, do-while или структуры коммутатора.
Итак, да, вы можете использовать его, чтобы выйти из цикла foreach.
Используйте оператор break
в условии if:
if ($small_object->TIME == $sought_time) {
break;
}
Оператор break
выйдет из цикла.