Pode 'sair' de um loop em PHP?

Eu tenho um loop que está fazendo alguma verificação de erro no meu código PHP. Originalmente, parecia algo assim ...

foreach($results as $result) {
    if (!$condition) {
        $halt = true;
        ErrorHandler::addErrorToStack('Unexpected result.');
    }

    doSomething();
 }

if (!$halt) {
    // do what I want cos I know there was no error
}

Isso funciona muito bem, mas ainda está em loop, apesar de, após um erro, não precisar. Existe uma maneira de escapar do loop?