O comando break é responsável por finalizar a execução das seguintes estruturas correntes :for, foreach, while, do-while ou switch.
Isto é algo que várias pessoas sabem e possivelmente todos os programadores conhecem esta funcionalidade. No entanto, pouco profissionais da área conhecem que no PHP, o comando break aceita um parâmetro opcional numérico que indica quantas estruturas concatenadas serão interrompidas.
Abaixo uma explicação com códigos desta funcionalidade
<?php $arr = array('a', 'b', 'c', 'd', 'nao', 'e'); foreach( $arr as $val ){ if ($val == 'nao') { break; // Poderia também ser escrito 'break 1;' } echo "$val<br />\n"; // Saida impressa serah 'nao' } /* Exemplo usando o argumento opcional */ $i = 0; while (++$i) { switch ($i) { case 5: echo "At 5<br />\n"; break 1; /* Sai apenas do bloco do comando switch. */ case 10: echo "At 10; quitting<br />\n"; break 2; /* Sai do bloco do comando switch e do while. */ default: break; } } ?>