Bucla PHP: For, ForEach, While, Do While [Exemplu]

⚡ Rezumat inteligent

Buclele PHP repetă un bloc de cod până când este îndeplinită o condiție, ceea ce elimină codurile repetitive.ping și gestionează procesarea array-urilor. Această prezentare prezintă cele patru tipuri de bucle PHP, for, foreach, while și do-while, cu sintaxă, diagrame de flux și rezultate de lucru pentru fiecare.

  • 🔁 Ce fac buclele: O buclă rulează același bloc în mod repetat până când condiția sa este îndeplinită, economisind de la scrierea de instrucțiuni duplicate.
  • 🔢 Pentru buclă: `for` combină contorul, condiția și incrementul pe o singură linie, fiind ideal atunci când numărul de iterații este cunoscut.
  • 📦 Bucla Foreach: Funcția foreach iterează prin fiecare element al unui tablou indexat sau asociativ fără un contor manual.
  • 🔄 Buclă While: `while` își verifică condiția înainte de fiecare trecere, astfel încât corpul să poată rula de zero ori dacă condiția începe ca falsă.
  • 1️⃣ Bucla Do-While: Operația do-while verifică condiția după body, ceea ce garantează că blocul de cod se execută cel puțin o dată.
  • 🧭 Alegerea unei bucle: Alegeți comenzile `for` și `foreach` pentru numărare și matrici, `while` pentru repetări bazate pe condiții și `do-while` când este necesară o trecere garantată.
  • 🤖 Asistență AI: Instrumentele de inteligență artificială pot refactoriza bucle, pot converti o buclă for în funcții de tip matrice și pot localiza cauza unei bucle infinite.

Bucle PHP

O buclă este o structură de control iterativă care implică executarea aceluiași bloc de cod de mai multe ori până când este îndeplinită o anumită condiție. PHP acceptă patru tipuri de bucle, comparate în tabelul de mai jos.

Buclă Cel mai bun pentru Starea verificată Rulează cel puțin o dată
pentru Un număr cunoscut de iterații Înainte de fiecare iterație Nu
pentru fiecare Iterarea peste elemente de matrice Per element de matrice Nu
în timp ce Repetarea cât timp o condiție este valabilă Înainte de fiecare iterație Nu
face în timp ce Rulează o dată, apoi verifică din nou După fiecare iterație Da

PHP For Loop

Bucla for execută un bloc de cod de un număr specificat de ori. Este alegerea potrivită atunci când știi dinainte câte iterații sunt necesare.

Sintaxă. Are următoarea sintaxă de bază.

<?php
for (initialize; condition; increment){

// code to be executed

}
?>

AICI,

  • "pentru…{…}" este blocul buclei
  • inițializa„” este de obicei un număr întreg; este folosit pentru a seta valoarea inițială a contorului.
  • "condiție" este condiția care este evaluată pentru fiecare execuție PHP. Dacă rezultatul este adevărat, atunci execuția buclei for continuă. Dacă rezultatul este fals, execuția buclei for este terminată.
  • "creştere" este utilizat pentru a incrementa valoarea inițială a numărului întreg al contorului.

Cum functioneaza. Schema de flux prezentată mai jos ilustrează modul în care bucla for este utilizată în PHP funcționează.

PHP For Loop

Cum să programezi. Codul de mai jos folosește bucla for pentru a afișa valorile înmulțirii lui 10 cu 0 până la 9.

<?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 * 0 is 0
The product of 10 * 1 is 10
The product of 10 * 2 is 20
The product of 10 * 3 is 30
The product of 10 * 4 is 40
The product of 10 * 5 is 50
The product of 10 * 6 is 60
The product of 10 * 7 is 70
The product of 10 * 8 is 80
The product of 10 * 9 is 90

Bucla PHP Foreach

Bucla PHP foreach este utilizată pentru a itera prin valorile unui array. Are următoarea sintaxă de bază.

<?php
foreach($array_variable as $array_values){

block of code to be executed

}
?>

AICI,

  • "pentru fiecare(…){…}" este codul bloc al buclei foreach
  • „$array_variable” este variabila matrice prin care se trece în buclă
  • „$array_values” este variabila temporară care conține valoarea curentă a elementului din matrice.
  • „blocul de cod...” este fragmentul de cod care operează pe valorile matricei

Cum functioneaza. Schema de flux prezentată mai jos ilustrează modul în care funcționează bucla foreach.

PHP pentru fiecare buclă

Exemple practice. Codul de mai jos folosește bucla foreach pentru a citi și a afișa elementele unui array.

<?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 parcurge o buclă matrice asociativăO matrice asociativă folosește cuvinte alfanumerice pentru tastele 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

Bucla While în PHP

Bucla while este utilizată 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ă.

Bucla While. 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ă

Cum functioneaza. Diagrama de flux prezentată mai jos ilustrează modul în care funcționează bucla while.

În timp ce Loop

Exemplu practic. Codul de mai jos folosește bucla while pentru a afișa numerele de la 1 la 5.

<?php

$i = 0;

while ($i < 5){

echo $i + 1 . "<br>";

$i++;

}

?>

ieșire:

1
2
3
4
5

Bucla PHP Do While

Diferența dintre bucla while și bucla do-while constă în faptul că bucla do-while este executată cel puțin o dată înainte ca condiția să fie evaluată.

Să analizăm acum sintaxa de bază a unei bucle do-while.

<?php
do{

block of code to be executed

} while(condition);
?>

AICI,

  • "face în timp ce(…)" este codul bloc al buclei do-while
  • "condiție" este condiția care trebuie evaluată de bucla while
  • „bloc de cod...” este codul executat cel puțin o dată de bucla do-while

Cum functioneaza. Diagrama de flux prezentată mai jos ilustrează modul în care funcționează bucla do-while.

PHP Do While

Exemplu practic. Acum vom modifica exemplul buclei 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țeExemplul de mai sus generează doar 9. Acest lucru se datorează faptului că bucla do-while este executată cel puțin o dată, chiar dacă condiția de setare este evaluată ca falsă.

Întrebări frecvente

Da. Folosește array_reverse() cu o buclă foreach pentru a parcurge elementele în sens invers sau folosește o buclă for care începe de la count($array) – 1 și decrementează indexul până la zero.

Instrucțiunea break acceptă un număr, deci break 2; închide simultan atât bucla interioară, cât și cea externă. Acest lucru este mai eficient decât utilizarea unei variabile flag pentru a opri bucla externă.

O buclă infinită nu se termină niciodată deoarece condiția sa nu devine niciodată falsă, adesea din cauza unui increment lipsă. Asigurați-vă că variabila buclei se modifică la fiecare trecere sau adăugați o pauză atunci când se atinge o limită.

Da. Inteligența artificială poate detecta repetițiile de lucru în interiorul unei bucle, poate sugera mutarea acestora în afara buclei și poate înlocui buclele manuale cu funcții array precum array_map sau array_filter, ceea ce face codul mai clar.

Da. Inteligența artificială poate rescrie o buclă for bazată pe index ca foreach atunci când parcurgi un array sau ca array_map sau array_sum atunci când bucla doar transformă sau totalizează valori. Testează rezultatul ulterior.

Rezumați această postare cu: