Досрочно закончить исполнение цикла в PHP можно разными способами. Хотя конструкций циклов в PHP много, но принципы одинаковые. Для примера будем использовать цикл for.
| 1 2 3 4 5 6 7 | <?php for ($k=0; $k < 10; $k++) {     echo "$k/";     if ($k == 5) break; } //увидим : 0/1/2/3/4/5/ ?> | 
Цикл досрочно завершится с помощью оператора break после вывода пятерки. Для прерывания вложенных циклов, оператору break нужно сообщить кол-во вложений. В следующем примере мы прерываем вложенность из двух циклов.
| 1 2 3 4 5 6 7 8 | <?php for ($j=0; $j < 3; $j++)      for ($k=0; $k < 10; $k++) {         echo "$j-$k/";         if ($k == 5) break 2;     } //увидим : 0-0/0-1/0-2/0-3/0-4/0-5/ ?> | 
Прерывание цикла с помощью оператора goto
В php с 5й версии появляется оператор goto. Природа оператора goto естественна сама по себе, так как это один из базовых операторов на языке ассемблера, но некоторые специалисты и «философы от программирования» заявляют о недопустимости использования оператора прямого безусловного перехода в процедурных языках, т.к. это «расхолаживает» программиста. Но что нам до философии?
Изменим код предыдущего примера, используя goto:
| 1 2 3 4 5 6 7 8 9 | <?php for ($j=0; $j < 3; $j++)     for ($k=0; $k < 10; $k++) {         echo "$j-$k/";         if ($k == 5) goto exit_circle_point;     } exit_circle_point: //увидим : 0-0/0-1/0-2/0-3/0-4/0-5/ ?> | 
Результат будет аналогичен.
Goto имеет ряд ограничений по применению, с ними лучше всего ознакомиться в мануале по PHP.

