Treci la conținutul principal

Bucla do...while în PHP

O buclă do...while își rulează codul întotdeauna cel puțin o dată. După această primă rulare, verifică condiția și reia bucla atâta timp cât condiția rămâne adevărată.

Notă: Acest comportament se datorează faptului că testul se află la baza buclei, după cod. Nici măcar o condiție falsă de la bun început nu poate opri prima rulare.

Bazele buclei do while

$i pornește de la 1, iar bucla îl afișează și îi adaugă 1 până când $i nu mai este mai mic decât 6:

Prompt
Scrie un script PHP care atribuie valoarea 1 lui $i. Folosește o buclă do...while pentru a afișa $i și a incrementa $i cu 1, atât timp cât $i este mai mic decât 6.
Ieșire: script PHP

Do while cu o condiție falsă

Aici $i pornește de la 8, deci nu trece testul $i < 6 încă de la început. Valoarea este totuși afișată o dată, pentru că PHP se uită la condiție abia după ce blocul de cod a rulat:

Prompt
Scrie un script PHP care atribuie valoarea 8 lui $i. Folosește o buclă do...while pentru a afișa $i și a incrementa $i cu 1, atât timp cât $i este mai mic decât 6. Bucla trebuie să se execute totuși o dată.
Ieșire: script PHP

Sintaxa do while

Forma generală arată așa, cu condiția scrisă după acolada de închidere:

index.php
do {
  // code to be executed
} while (condition);

Instrucțiunea break în PHP

Instrucțiunea break încheie mai devreme o buclă do...while, indiferent dacă condiția ei mai este adevărată sau nu.

Oprirea buclei cu break

Afișarea se oprește când $i ajunge la 3, așa că apar doar 1 și 2:

Prompt
Scrie un script PHP care atribuie valoarea 1 lui $i. Folosește o buclă do...while cu condiția $i < 6. În interiorul buclei, dacă $i este egal cu 3, folosește break pentru a opri bucla. Altfel afișează $i și incrementează $i.
Ieșire: script PHP

Instrucțiunea continue în PHP

Ca să sari peste o singură trecere, folosește continue. Restul acelei iterații este abandonat, iar bucla continuă cu următoarea.

Sărirea unei iterații cu continue

Observă că $i este mărit la începutul corpului, înainte de verificare. Când este egal cu 3, echo este sărit, așa că 3 lipsește din rezultat:

Prompt
Scrie un script PHP care atribuie valoarea 0 lui $i. Folosește o buclă do...while cu condiția $i < 6. În interiorul buclei, incrementează mai întâi $i. Dacă $i este egal cu 3, folosește continue pentru a sări peste afișare. Altfel afișează $i.
Ieșire: script PHP