¿Cómo salir de un foreach una vez que se cumple una condición?

Tengo una situación en la que cuando trato con un objeto, generalmente uso un foreach para recorrerlo así:

foreach ($main_object as $key=>$small_object) {
...

}

Sin embargo, necesito poner un condicional allí así:

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?
      }
}

¿Cuál es la forma elegante de hacer esto? Parece un desperdicio mantenerlo en bucle si se encuentra una coincidencia. ¿O hay otro enfoque para hacer esto que es mejor? Posiblemente usar para en lugar de foreach?

Respuestas a la pregunta(2)

Su respuesta a la pregunta