Bucla PHP: For, ForEach, While, Do While [Exemplu]
O buclฤ este o structurฤ de control iterativฤ care implicฤ executarea aceluiaศi numฤr de cod de mai multe ori pรขnฤ cรขnd este รฎndeplinitฤ o anumitฤ condiศie.
PHP For Loop
Codul de mai sus aratฤ โ21 este mai mare decรขt 7โ Buclele For Buclele For... executฤ blocul de cod de un anumit numฤr de ori. Practic, existฤ douฤ tipuri de bucle for;
- pentru
- pentru fiecare.
Sฤ le privim acum separat. Pentru buclฤ Are urmฤtoarele elemente de bazฤ sintaxฤ
<?php
for (initialize; condition; increment){
//code to be executed
}
?>
AICI,
- "pentruโฆ{โฆ}" este blocul buclei
- iniศializaโ de obicei un numฤr รฎntreg; este folosit pentru a seta valoarea iniศialฤ a contorului.
- "condiศie" condiศia care este evaluatฤ pentru fiecare execuศie php. Dacฤ se evalueazฤ la adevฤrat, atunci execuศia buclei forโฆ continuฤ. Dacฤ se evalueazฤ ca fals, execuศia buclei for... este รฎncheiatฤ.
- "creลtere" este folosit pentru a incrementa valoarea iniศialฤ a numฤrului รฎntreg.
Abordarea Noastrฤ
Diagrama de flux prezentatฤ mai jos ilustreazฤ modul de intrare รฎn buclฤ php fabricฤ
Cum se codificฤ
Codul de mai jos foloseศte bucla โfor...โ pentru a imprima valorile รฎnmulศirii de la 10 cu 0 pรขnฤ la 10
<?php
for ($i = 0; $i < 10; $i++){
$product = 10 * $i;
echo "The product of 10 * $i is $product <br/>";
}
?>
ieศire:
The product of 10 x 0 is 0 The product of 10 x 1 is 10 The product of 10 x 2 is 20 The product of 10 x 3 is 30 The product of 10 x 4 is 40 The product of 10 x 5 is 50 The product of 10 x 6 is 60 The product of 10 x 7 is 70 The product of 10 x 8 is 80 The product of 10 x 9 is 90
PHP pentru fiecare buclฤ
Bucla php foreach este folositฤ pentru a itera prin valorile matricei. Are urmฤtoarea sintaxฤ de bazฤ
<?php
foreach($array_variable as $array_values){
block of code to be executed
}
?>
AICI,
- "pentru fiecare(โฆ){โฆ}" este codul de bloc al buclei php foreach
- โ$array_dataโ este variabila matrice prin care se trece รฎn buclฤ
- โ$array_valueโ este variabila temporarฤ care deศine valorile curente ale elementului de matrice.
- โblocul de cod...โ este fragmentul de cod care opereazฤ pe valorile matricei
Abordarea Noastrฤ Diagrama de flux prezentatฤ mai jos ilustreazฤ modul รฎn care funcศioneazฤ bucla pentru... fiecare...
Exemple practice
Codul de mai jos foloseศte for... fiecare buclฤ pentru a citi ศi tipฤri elementele unui tablou.
<?php
$animals_list = array("Lion","Wolf","Dog","Leopard","Tiger");
foreach($animals_list as $array_values){
echo $array_values . "<br>";
}
?>
ieศire:
Lion Wolf Dog Leopard Tiger
Sฤ ne uitฤm la un alt exemplu care trece printr-o buclฤ matrice asociativฤ.
O matrice asociativฤ foloseศte cuvinte alfanumerice pentru cheile de acces.
<?php
$persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female");
foreach($persons as $key => $value){
echo "$key is $value"."<br>";
}
?>
Numele au fost folosite ca chei de matrice ศi genul ca valori.
ieศire:
Mary is Female John is Male Mirriam is Female
รn timp ce Loop
bucla PHP While
Ele sunt folosite pentru a executa un bloc de cod รฎn mod repetat pรขnฤ cรขnd condiศia setatฤ este รฎndeplinitฤ
Cรขnd sฤ folosiศi buclele while
- Buclele รฎn timp ce sunt folosite pentru a executa un bloc de cod pรขnฤ cรขnd o anumitฤ condiศie devine adevฤratฤ.
- Puteศi folosi o buclฤ while pentru a citi รฎnregistrฤrile returnate de la un Baza de date.
Tipuri de bucle while
- Face รฎn timp ce โ executฤ blocul de cod cel puศin o datฤ รฎnainte de a evalua condiศia
- In timp ceโฆ โ verificฤ mai รฎntรขi starea. Dacฤ se evalueazฤ la adevฤrat, blocul de cod este executat atรขta timp cรขt condiศia este adevฤratฤ. Dacฤ se evalueazฤ ca fals, execuศia buclei while este รฎncheiatฤ.
รn timp ce bucla
Are urmฤtoarea sintaxฤ
<?php
while (condition){
block of code to be executed;
}
?>
AICI,
- "in timp ce(โฆ){โฆ}" este codul de bloc al buclei while
- "condiศie" este condiศia care trebuie evaluatฤ de bucla while
- โbloc de cod...โ este codul care trebuie executat dacฤ condiศia este รฎndeplinitฤ
Abordarea Noastrฤ
Diagrama de flux prezentatฤ mai jos ilustreazฤ modul รฎn care funcศioneazฤ bucla while...
Exemplu practic
Codul de mai jos foloseศte bucla while... pentru a imprima numerele de la 1 la 5.
<?php
$i = 0;
while ($i < 5){
echo $i + 1 . "<br>";
$i++;
}
?>
ieศire:
1 2 3 4 5
PHP Do While
Diferenศa dintre While... loop ศi Do... while loop is do... while este executatฤ cel puศin o datฤ รฎnainte ca condiศia sฤ fie evaluatฤ.
Sฤ ne uitฤm acum la sintaxa de bazฤ a unei bucle do... while
<?php
do{
block of code to be executed
}
?>
รฎn timp ce(condiศie);
AICI,
- "face รฎn timp ce(โฆ)" este codul de bloc al buclei do... while
- "condiศie" este condiศia care trebuie evaluatฤ de bucla while
- โbloc de cod...โ este codul care este executat cel puศin o datฤ de bucla do... while
Abordarea Noastrฤ
Diagrama de flux prezentatฤ mai jos ilustreazฤ modul รฎn care funcศioneazฤ bucla while...
Exemplu practic
Acum vom modifica exemplul de buclฤ while... ศi รฎl vom implementa folosind bucla do... while ศi vom seta valoarea iniศialฤ a contorului la 9.
Codul de mai jos implementeazฤ exemplul modificat de mai sus
<?php
$i = 9;
do{
echo "$i is"." <br>";
}
while($i < 9);
?>
Codul de mai sus iese:
9
notiศe exemplul de mai sus iese numai 9.
Acest lucru se datoreazฤ faptului cฤ bucla do... while este executatฤ cel puศin o datฤ chiar dacฤ condiศia setatฤ este evaluatฤ ca falsฤ.
Rezumat
- Bucla for... este folositฤ pentru a executa un bloc de un anumit numฤr de ori
- Bucla foreach... este folositฤ pentru a trece prin matrice
- While... bucla este folositฤ pentru a executa un bloc de cod atรขta timp cรขt condiศia setatฤ este fฤcutฤ sฤ fie falsฤ
- Bucla do... while este folositฤ pentru a executa blocul de cod cel puศin o datฤ, apoi restul execuศiei depinde de evaluarea condiศiei setate




