do-while
(PHP 4, PHP 5, PHP 7, PHP 8)
Os laços do-while são muito similares aos laços
while, com exceção que a expressão de avaliação é
verificada ao final de cada iteração em vez de no começo.
A maior diferenƧa para o laƧo while Ʃ
que a primeira iteração do laço do-while
sempre é executada (a expressão de avaliação é executada somente no final
da iteração), considerando que no laço while não é
necessariamente executada (a expressão de avaliação é
executada no começo de cada iteração, se avaliada como
false logo no começo, a execução do laço
serĆ” abortada imediatamente).
Só hÔ uma sintaxe para o laço do-while:
O laço acima serÔ executado somente uma vez, pois após a primeira
iteração, quando a expressão de avaliação for executada, resultarÔ em
false ($i não é maior que 0) e a execução do laço
serĆ” encerrada.
UsuƔrios avanƧados de C devem estar familiarizados com um uso diferente do laƧo
do-while, que permite parar a execução no meio
do bloco de códigos, encapsulando-os em um
do-while (0), e usando o break.
O código a seguir demonstra isso:
Ć possĆvel usar o
goto
ao invƩs desse truque.
jayreardon at gmail dot com ¶19 years ago
There is one major difference you should be aware of when using the do--while loop vs. using a simple while loop: And that is when the check condition is made.
In a do--while loop, the test condition evaluation is at the end of the loop. This means that the code inside of the loop will iterate once through before the condition is ever evaluated. This is ideal for tasks that need to execute once before a test is made to continue, such as test that is dependant upon the results of the loop.
Conversely, a plain while loop evaluates the test condition at the begining of the loop before any execution in the loop block is ever made. If for some reason your test condition evaluates to false at the very start of the loop, none of the code inside your loop will be executed.