internetul Windows. Android

Cicluri de timp în PHP. Cicluri

Nota: Versiunea adaptivă a site-ului este activată, care se ajustează automat la dimensiunea mică a browserului dvs. și se ascunde câteva detalii ale site-ului pentru citire. Vizionarea fericită!

Bună ziua Dragi cititori și abonați obișnuiți! Este timpul să continuăm ciclul articolelor despre PHP și astăzi vom studia acest lucru de bază și în același timp un lucru foarte important ca cicluri. Ce trebuie să știți mai întâi despre cicluri? Și faptul că sunt folosite peste tot și peste tot, și șabloanele Joomla, VirtueMart, WordPress, OpenCart și orice alt CMS nu fac excepție.

Ce este un ciclu? Ciclu - Aceasta este o repetare multiplă a aceluiași cod. Câte repetări trebuie făcute - depinde de contorul ciclului, pe care noi înșine îl creăm și le putem controla. Este foarte convenabil, de exemplu, atunci când trebuie să remizăm bunuri în categoria magazinului online, retragerea posturilor în blog, retragem comentarii cu privire la articol sau produs, toate meniurile din CMS (motoarele site-ului) sunt de asemenea realizate utilizând cicluri. În general, ciclurile sunt folosite foarte des.

Dar, înainte de a vă deplasa în cicluri, trebuie mai întâi să fiți suflați cu un astfel de lucru ca operatori creştere și dekenent..

Operatorul ++ (incrementare) mărește valoarea variabilei pe unitate, în timp ce operatorul - (decrementarea) reduce valoarea variabilei pe unitate. Ele sunt foarte convenabile de utilizat în cicluri ca un metru și în programare în ansamblu. Există, de asemenea, pre-incrementare / decrement și post increment / decrement:

Preragment / Decrement ++ $ a crescut $ a pe unitate și returnează valoarea $ a. - $ a scade $ a pe unitate și returnează valoarea de $ a. Post increment / Dekent $ A ++ Returnează valoarea de $ a, și apoi crește $ a pe unitate. $ A - Returnează valoarea de $ a, și apoi reduce $ a pe unitate.

De exemplu:

$ a \u003d 1; Echo "ieșirea numărului:". $ a ++; // ieșirea numărului: 1 ecou "ieșirea numărului:". $ a; // ieșirea numărului: 2 ECHO "ieșire: $ a"; $ a + \u003d 1; // la fel ca în prima linie $ a \u003d 1; Echo "ieșirea numărului:". ++ $ a; // ieșirea numărului: 2 ecou "ieșirea numărului:". $ a; // ieșirea numărului: 2 $ a + \u003d 1; Echo "ieșire: $ a"; // la fel ca în prima linie a acestui bloc

Ciclu pentru

Pentru (partea a; parte în partea C) (// orice cod, câte rânduri vă rog;)

Ciclul este alcătuit din 3 părți și corp în sine. Partea A. Doar efectuează ceea ce este scris în ea, de regulă, în 90% din cazuri există un contor de ciclism. Partea B. - Acest lucru este vorba de nepoliticos, deja familiar pentru noi dacă, adică verificarea adevărului (adevărat?). Dacă starea este adevărată, asta este adevărat., atunci PHP trece în interiorul ciclului și continuă să o execute. Părți. - Același lucru este că partea A, de regulă, în ceea ce privește realizăm unele transformări cu tejghea. De exemplu:

";) Echo" a ieșit din ciclu și a mers mai departe pe Cod ... ";?\u003e

Acum, despre algoritmul ciclului. În primul rând, văzând că PHP intră în partea A și o interpretează un singur timp (vezi imaginea de mai jos). Apoi PHP merge în parte și verifică, adevărat sau fals. Dacă este adevărat, atunci corpul ciclului efectuează și numai după aceea merge în parte din S. După aceea, PHP se întoarce la partea și verificările, există încă adevărate sau nu mai sunt. Dacă nu, ciclul se termină dacă da, continuă până când este FALSE în parte.

Rezultatul exemplului anterior:

În timp ce ciclul

În timp ce (partea B) (// orice cod, câte linii;)

După cum puteți vedea, nu există nici o parte a și o parte din C, de la ciclu, doar starea rămâne aici, adică parte V. Dacă trebuie să folosim contorul, atunci trebuie să-l punem în timpul ciclului , printre celelalte coduri, acesta va fi frecvent S. și creați contorul este necesar înainte de începerea designului de timp:

Partea A; În timp ce (partea B) (// orice cod, câte rânduri; partea C;)

Redirecționăm ciclul anterior în timp ce ciclul:

"$ I ++;) Echo" a ieșit din ciclu și a mers mai departe pe cod ... ";?\u003e

Rezultatul va fi exact același. Ce să utilizați: Ciclul pentru sau în timp ce ciclul este o chestiune de gust, vezi cum sunteți mai convenabil și mai logic, nu există nici o diferență.

Ciclu ... în timp ce

Mai puțin frecvente de toate tipurile de cicluri. De fapt, este un în timp ce este depășit. Cipul său este că PHP cel puțin o dată (mai întâi), dar va intra cu siguranță în corpul face ... în timp ce ciclul, deoarece în acest ciclu starea la sfârșit:

Partea A; Faceți (// orice cod, câte rânduri, partea C;) în timp ce (partea B);

"$ I ++;) în timp ce ($ i< 8); echo "ВЫШЛИ ИЗ ЦИКЛА и пошли дальше по коду..."; ?>

Este important să înțelegeți: În toate cele trei tipuri de cicluri, nu există părți obligatorii.

Exemplu de ciclu fără partea A și partea C:

Pentru (; $ i\u003e 8;) (// codul dvs.)

Exemplu de ciclu fără toate cele trei părți:

Pentru (;;) (// ciclu infinit clasic)

Adică, toate punctele cu o virgulă rămân în continuare în ciclu, o astfel de sintaxă!

Cicluri infinite

Ciclul infinit este o eroare de dezvoltator la care o pagină nu poate porni niciodată până la capăt, deoarece starea ciclului (partea B) va fi întotdeauna adevărată. De exemplu:

"$ I ++;) în timp ce ($ i! \u003d 0); echo" a ieșit din ciclu și a mers mai departe pe cod ... "?

Rezultat:

Tocmai am arătat o parte, pentru că totul nu este plasat pe ecran. Acesta este modul în care browserul dvs. și serverul site-ului dvs. vor suferi infinit până când browserul neagă secunde după 30. Și toate pentru că în exemplul de deasupra variabilei $ nu voi fi niciodată zero, este inițial egală cu 1 și crește în mod constant.

Adică, dezvoltatorul a fost inundat când a inventat o astfel de condiție.

Cycla Control.

Pauză operator. Există situații în care nu avem nevoie de ciclu pentru a juca toate iterațiile (repetiție). De exemplu, într-un anumit motiv, dorim să o întrerupăm și să continuăm execuția de mai jos prin cod:

"; dacă ($ i \u003d\u003d\u003d 5) pauză; // lăsați ciclul dacă $ i este egal cu 5 i ++;) eco" Pot conta doar la 5: (";

Rezultat:

În exemplul de mai sus, de îndată ce am ajuns la cinci, PHP a ieșit din ciclu, așa că va dura până la 7.

Continuați operatorul De asemenea, întrerupe executarea ciclului, dar spre deosebire de pauză, continuă nu părăsește ciclul, ci returnează interpretul PHP înapoi în starea (la partea B). Exemplu:

";) Ecou" ceva ratat? ";?\u003e

Rezultat:

Doar am pierdut Figura 5, deoarece PHP nu a ajuns la Echo.

Ciclul poate fi investit în ciclu. În acest caz, continuați și întrerupeți operatorii se aplică numai unui singur ciclu, cel în care se află. Asta este, cu alte cuvinte, mutați un nivel, și nu prin tot. Exemplu:

Dar noi înșine putem alege câte nivele trebuie să sari:

"$ i ++; $ i \u003d 1; $ k \u003d 1; în timp ce ($ k< 8) { echo "Итерация $k номер ". $k . "
"; dacă ($ k \u003d\u003d\u003d 5) sparge 2; $ k ++;)))?\u003e

Rezultat:

Firește, nu putem pune un număr mai mare decât ciclurile noastre imbricate.

Ciclul de predare

Ultimul în ordine, dar cea mai importantă valoare este ciclul de predare. Folosit numai Pentru plin de viață și obiecte (sunt încă prea devreme pentru a învăța). Exemplu de sintaxă:

"; } ?>

Rezultat:

A fost un design scurt de predare, dar are și o versiune extinsă care, în plus față de valoarea celulelor matricei, afișează numele celulelor (tastele):

$ Valoare) (ecou "în secțiune "$ Cheie". Există un articol intitulat: "Valoarea $".
"; } ?>

Rezultat:

Îți atrag atenția asupra faptului că variabilele pe care le putem numi cum să vrem, cel puțin cheia $ și valoarea $, cel puțin $ xxx și $ a yyy.

Dacă o matrice, atunci folosim bucla de predare și oricare altul. Acesta este acest ciclu care este folosit peste tot în Virtuemart și într-adevăr peste tot.

Dacă în rândul încheiat în ghilimele unice, slash-ul invers "\\" se găsește înainte de orice alt simbol (diferit de "\\" și ""), atunci este considerat un simbol regulat și este afișat, precum și toți ceilalți. Prin urmare, linia oblică inversă este necesară numai dacă este la capătul șirului, înainte de cotațiile de închidere.

În PHP, există o serie de combinații de simboluri începând cu simbolul caracteristica de panglică inversă. Ele sunt numite secvențe de control și au sensuri speciale pe care le vom spune puțin mai târziu. Astfel, spre deosebire de celelalte două sintaxe, variabile și secvențe de control pentru caractere speciale întâlnite în linii închise în citate unice nu sunt procesate.

ecou. "De asemenea, puteți introduce în șiruri de caractere
simbolul noului șir este astfel
deoarece este normal. "
;
// va ieși: pentru a scoate "este necesar
// pune-l în fața lui \\
ecou. "A aduce nevoie de" nevoie înainte ".
"Pentru a pune \\\\";
// eliminați: doriți să eliminați C: \\ *. *?
ecou. "Vrei să elimini C: \\\\ *. *?";
// va ieși: nu va fi inserat: \\ n
// nou șir
ecou. "Nu se va introduce: șirul nou";
// eliminați: variabilele $ extinde de asemenea
// $ fie nu înlocuiește
ecou. "$ Expand variabile, de asemenea, $ fie".
"Nu înlocuiți";
?>

16.1. Exemplu. Utilizarea secvențelor managerilor

17. Citate duble

Dacă șirul este închis în ghilimele duble "", PHP recunoaște un număr mai mare de secvențe de control pentru caractere speciale.

Unele dintre ele sunt prezentate în tabel.
Masa. Secvențe de control.

Repetăm \u200b\u200bdacă doriți să protejați orice alt caracter, caracteristica de scufundare inversă va fi, de asemenea, tipărită!

Cea mai importantă caracteristică a liniilor în ghilimele duble este prelucrarea variabilelor.

Heredoc.

O altă modalitate de a determina șirurile este utilizarea sintaxei de heredoc. În acest caz, șirul ar trebui să înceapă cu simbolul<<<, после которого идет идентификатор. Заканчивается строка этим же идентификатором. Закрывающий идентификатор должен начинаться в первом столбце строки. Кроме того, идентификатор должен соответствовать тем же правилам именования, что и все остальные метки в PHP: содержать только буквенно-цифровые символы и знак подчеркивания и начинаться не с цифры или знака подчеркивания.

Textul Heredoc se comportă în același mod ca un rând în citate dublu, în timp ce nu le are. Aceasta înseamnă că nu aveți nevoie să scuturați citatele în Heredoc, dar totuși puteți utiliza secvențele de control enumerate mai sus.

Variabilele din interiorul Heredoc sunt, de asemenea, procesate.

$ Str \u003d.<<Un exemplu de șir care îmbrățișează mai multe
linii folosind.
heredoc-sintaxă
Eod;
// Identificator - EOD. De mai jos
// identificator eot.
$ Nume \u003d "vasya";
ecou.<<Numele meu este "$ nume".
Eot;
// mă va aduce "numele meu este" Vasya "."
?>

Exemplu. Utilizare sintaxă Heredoc.
Notă: Suportul Heredoc a fost adăugat la PHP 4.

18. Array de tip (matrice)

O matrice în PHP este o hartă ordonată - un tip care convertește valorile în taste. Acest tip este optimizat în mai multe direcții, astfel încât să îl puteți folosi ca o matrice în sine, o listă (vector), o masă hash (care este implementarea cardului), stivă, coadă etc. Deoarece puteți avea o altă matrice PHP ca o valoare, puteți
De asemenea, ușor de emulat copacii.

Puteți defini o matrice utilizând designul matricei () sau setați direct valorile la elementele sale. Definiție cu ajutorul
Array () matrice (\u003d\u003e valoare,
\u003d\u003e Valoarea1, ...)

Array-ul de design lingvistic () ia cheia ca parametri Cheia \u003d\u003e Valoarea separată prin virgule. Simbol \u003d\u003e Setează meciul între valoarea și cheia sa. Cheia poate fi atât un număr întreg cât și un șir, iar valoarea poate fi orice tip disponibil în PHP. Cheia numerică a matricei este adesea numită indicele. Indexarea matricea în PHP începe cu zero.

Valoarea elementului matricei poate fi obținută prin specificarea după numele matricei în paranteze pătrate cheia elementului dorit. Dacă cheia de matrice este o înregistrare standard a unui număr întreg, atunci este considerat un număr, altfel - ca șir.

Prin urmare, înregistrarea $ A ["1"] este echivalentă cu înregistrarea $ A, precum și $ A ["- 1"] este echivalentă cu $ A [-1].

$ Cărți \u003d matrice ("php" \u003d\u003e
"Ghidul utilizatorilor PHP",
12 \u003d\u003e adevărat);
eCHO $ \u200b\u200bCărți ["PHP"];
// va "Ghidul utilizatorilor PHP"
eCHO $ \u200b\u200bCărți [12]; // va ieși 1.
?>

18.1. Exemplu. Matrice în PHP.

Dacă cheia nu este specificată pentru element, atunci cheia maximă numerică este luată ca cheie, mărită pe unitate. Dacă specificați cheia care a fost deja atribuită unei valori, aceasta va fi suprascrisă. Începând cu PHP 4.3.0, dacă cheia maximă este un număr negativ, atunci următoarea tastă a matricei va fi zero (0).

// matrimite $ ARR și $ ARR1 echivalente
$ arr \u003d matrice (5 \u003d\u003e 43, 32, 56, "b" \u003d\u003e 12);
$ arr1 \u003d matrice (5 \u003d\u003e 43, 6 \u003d\u003e 32,
7 \u003d\u003e 56, "b" \u003d\u003e 12);
?>

18.2. Exemplu. Matrice în PHP.

Dacă utilizați TRUE sau FALSE ca o cheie, atunci valoarea sa este tradusă în consecință într-un număr de tip zero. Dacă utilizați , apoi în loc de cheia primim un șir gol. De asemenea, puteți utiliza șirul gol ca o cheie, în timp ce trebuie să fie luată în citate. Deci, acest lucru nu este același cu utilizarea unor paranteze pătrate goale. Nu puteți utiliza matrice și obiecte ca o cheie.

Definiție folosind sintaxa pătrată

Puteți crea o matrice prin simpla înregistrare a valorilor. După cum am spus, valoarea unui element de matrice poate fi obținută utilizând paranteze pătrate, în interiorul căruia trebuie să specificați cheia sa, de exemplu, $ Cartea ["PHP"]. Dacă specificați o nouă cheie și o nouă valoare, de exemplu, $ carte ["New_key"] \u003d "New_Value", apoi un element nou va fi adăugat la matrice. Dacă nu specificăm cheia, dar atribuiți numai valoarea $ Book \u003d "New_Value", noul element al matricei va avea o cheie numerică, o unitate mai mare decât cea maximă existentă. Dacă matricea în care adăugăm valori nu există încă, acesta va fi creat.

$ Cărți ["cheie"] \u003d valoare; // adăugat la o matrice
// $ cărți care înseamnă
// valoarea cu tasta cheie
$ Cărți \u003d valoare1; / * adăugat la o matrice
valoare1 S.
tasta 13 din cauza
tasta maximă U.
am fost 12 * /
?>

Pentru a schimba elementul specific al matricei, trebuie doar să alocați un nou înțeles cu ea cu cheia sa. Nu puteți schimba cheia elementului, puteți șterge doar un element (pereche cheie / valoare) și puteți adăuga unul nou. Pentru a șterge un element de matrice, trebuie să utilizați funcția Unset ().

$ Cărți \u003d matrice ("php" \u003d\u003e
"Ghidul utilizatorilor PHP",
12 \u003d\u003e adevărat);
$ Cărți \u003d.
"Carte despre Perl"; // element adăugat
// cu cheie (index)
// 13 Aceasta este echivalentă
// $ cărți \u003d
// "carte despre perl";
$ Cărți ["LISP"] \u003d
123456 ; / * Aceasta adaugă noi la matrice

Punerea în aplicare a operațiunilor monotonice ne transformă întotdeauna în viața reală. De exemplu, sigilați 50 de plicuri cu litere (sunt de acord, un exemplu nereușit, dar esența este clară). Dar în programare există astfel de modele bune care vă permit să simplificați executarea operațiunilor repetitive. Una dintre soluții va fi considerată într-una din lecțiile din trecut. Dar există și câteva lucruri care vor simplifica ciclurile noastre de viață.

Ideea ciclului este de a face ceva din nou și din nou până când sarcina este finalizată sau până când o anumită condiție (specificată) este executată. Înainte de a arăta un exemplu real în care este posibil să aveți nevoie de un astfel de design, să ne uităm la structura ciclului PHP.

Exemplu simplu de timp în timp ce

Esența flaconului este simplă. Acesta va executa din nou un set specificat de comenzi și din nou în timp ce starea prescrisă este executată. Așa-numitul ciclu cu precondiția, adică mai întâi verificați, apoi executarea. Această verificare logică funcționează, precum și cea pe care am luat-o în lecție.
Un exemplu simplu de ciclu este prezentat mai jos:

În timp ce (condiție) (// ciclul corpului;)

Acest cod arată modul în care este construit ciclul. Un algoritm de execuție exemplar este după cum urmează:

  • Pasul 1. Starea ciclului specificat este verificată. Dacă este adevărat, pasul 2 este efectuat, dacă este fals, pasul 4.
  • Pasul 2. Efectuarea unui organism de ciclu (comenzi specificate).
  • Pasul 3. Procesul începe din nou (pasul 1).
  • Pasul 4. Dacă expresia condiționată este falsă, codul din interiorul ciclului nu este efectuat. Codul înregistrat după efectuarea ciclului ca de obicei.

Scriu acest articol pentru începători care încep doar să studieze PHP.. Îți voi spune în acest articol despre tot felul de cicluri în PHP.Deci nu am avut acest articol pe site. Au existat doar, dar, în ciuda similitudinii generale, nu este încă așa. ÎN PHP. există 4 tipuri de cicluri.

  1. In timp ce
  2. Face în timp ce
  3. Pentru fiecare.

Îi vom analiza în ordine și vom începe cu cele mai populare ciclu în PHP. (și nu numai în PHP.) - aceasta este ciclu pentru. Sintaxa acestui ciclu este după cum urmează:

Pentru (expresie_1; expresie_2; expresie_3) (
Operatori
}

Expresie_1. efectuate imediat și necondiționat Expresie_3. Efectuate după fiecare iterație a ciclului. Expresie_2. - Acesta este un control dacă să continue ciclul. Dacă rezultatul expresiei este adevărat.Apoi începe următoarea repetare a ciclului și dacă falsCiclul își oprește activitatea.

Următorul tip de ciclu este In timp ce. Acesta este un tip mai simplu de cicluri a căror sintaxă este după cum urmează:

În timp ce (expresie) (
Operatori
}

Pana cand Expresie Se intoarce adevărat., ciclul va funcționa și, de îndată ce apare fals, Își oprește munca.

Do-în timp ce ciclul Foarte asemănător cu In timp ceDar cu o singură diferență. Condiția de ieșire este verificată după executarea iterației și nu înainte. Astfel, acest ciclu va fi întotdeauna efectuat cel puțin 1 timp. Așadar do-în timp ce sinteturile ciclului:

(
Operatori
) În timp ce (condiție);

Și în cele din urmă, ultimul tip de cicluri este pentru fiecare.care servește numai pentru enumerarea de matrice și obiecte. Este necesar atunci când cheile de matrice nu sunt numere (care sunt ușor de trecut prin același lucru Pentru), și linii. Sintaxa ciclului de foiere ca urmare a:

Foreach ($ array_or_object ca key $ \u003d\u003e $ valoare) (
Operatori
}

Și în cele din urmă, să aplicăm toate 4 tipuri de cicluri în PHP pentru enumerarea matricelor:

$ List \u003d matrice (5, 2, 3, 10, 12, 10);
$ array \u003d matrice ("a" \u003d\u003e 1, "x" \u003d\u003e 10, "m" \u003d\u003e -5);
pentru ($ i \u003d 0; $ i< count($list); $i++) {
ECHO $ \u200b\u200bLIST [$ I] ";";
}
Echo "
";
$ i \u003d 0;
În timp ce ($ i< count($list)) {
ECHO $ \u200b\u200bLIST [$ I] ";";
$ i ++;
}
Echo "
";
$ i \u003d 0;
(
ECHO $ \u200b\u200bLIST [$ I] ";";
$ i ++;
) În timp ce ($ i< count($list));
Echo "
";
foreach ($ matrice ca cheie $ \u003d\u003e $ valoare) (
Echo "key key \u003d $;";
}
?>

Toate aceste cicluri sunt obligate să cunoască orice programator, deci dacă brusc ceva nu este clar, recitiți încă o dată sau puneți întrebarea în comentarii și voi încerca să răspund.

Cu greu puteți scrie un script serios pentru PHP fără a utiliza cicluri. Ce este un ciclu? Acesta este un tip special de design de control care permite mai multe ori (și chiar infinit) pentru a efectua același cod. Următoarele cicluri sunt acceptate în PHP:

Primele trei cicluri, probabil că veți putea întâlni în majoritatea limbajelor de programare. Ciclurile, în funcție de condiții, pot fi întrerupte sau continuate (treceți la următoarea iterație, fără a efectua corpul ciclului). Să ne uităm unul la celălalt de la cicluri.

Ciclu pentru

Sintaxa ciclului pentru următorul.

Pentru (inițializare, condiție, comenzi_thettry) (body_cicla;)

În unitatea de inițializare, contorul este întotdeauna inițializat, precum și alte variabile (dacă este necesar). În blocul de stare este indicat în ce punct de funcționare a ciclului trebuie întreruptă. În blocul de comandă executat după fiecare trecere a ciclului, valoarea contorului, precum și alte variabile, se schimbă de obicei (dacă este necesar).

// o serie de valori $ Array \u003d Array ("Apple", "Potato", "Floare", "Flower", "Mercur", "Oxygen", "grâu", "Rusia", "Moscova "," Duș "); // starea ciclului se pare așa: în timp ce contorul nu atinge valoarea egală cu suma // elemente de matrice, corpul ciclului este efectuat pentru ($ i \u003d 0; $ i< count($array); $i++) { print "
"(I $ + 1).". "$ matrice [$ i]". ";) / * rezultatul ciclului va fi astfel: 1. Apple. 2. Cartof 3. Pepene verde. 4. Floare. 5. Apă. 6. Mercur. . Oxigen. 8. Grâu. 9. Rusia. 10. Moscova. 11. Shine. * /

Deoarece contorul de $ I a pornit de la zero, la fiecare iterație, am adăugat unitatea la semnificația sa, astfel încât lista să pară mai familiarizată. După fiecare articol, valoarea contorului a crescut cu una și când a ajuns la 11, ciclul sa oprit. Acum, să aruncăm o privire la ciclul de făcut.

Do-în timp ce ciclul

Do-în timp ce ciclul se caracterizează prin faptul că funcționează la amânare. Aceasta înseamnă că codul anexat în organismul ciclului va fi îndeplinit cel puțin o dată. Sintaxa ciclului este:

Faceți (body_cikl;) în timp ce (condiție);

Acest ciclu este folosit destul de rar atunci când programarea web, dar poate că va fi necesară în scenariile dvs.

// deja familiar pentru noi Array $ Array \u003d Array ("Apple", "Cartofi", "Flori", "Flower", "Mercur", "Oxygen", "grâu", "Rusia", "Moscova "," Duș "); // rulați ciclul $ i \u003d 1; DO (Print.
"$ I.". "$ matrice [($ i - 1)].";) în timp ce ($ i ++< count($array)); /* Результат работы цикла будет таким: 1. Яблоко. 2. Картошка. 3. Арбуз. 4. Цветок. 5. Вода. 6. Ртуть. 7. Кислород. 8. Пшеница. 9. Россия. 10. Москва. 11. Ливень. */

Fiți atenți la diferența pe care suntem afișați în acest ciclu de la ciclu. Deoarece codul din corpul ciclului Do-În timp ce se efectuează cel puțin o dată, valoarea inițială a contorului a fost setată la zero. Cum funcționează ciclul ... codul este executat, apoi este verificată condiția. La prima iterație, contorul a avut o valoare 1. După iterație, unitatea a fost mai mică de 11 (numărul de elemente). La ultima iterație, contorul a avut o valoare de 11, iar acest lucru nu este mai mic de 11. Ciclul sa oprit. Do-în timp ce este foarte asemănător cu ciclul de timp.

În timp ce ciclul

Ciclul este furnizat. Acesta va fi executat numai atunci când starea lui este adevărată. Aceasta este, în timp ce ciclul nu poate fi îndeplinit deloc. Syataxia lui este:

În timp ce (condiție) (body_cikl;)

Împreună cu ciclul de ciclu, ciclul de timp este folosit foarte des.

$ Array \u003d Array ("Apple", "Potato", "Floarea", "Apa", "Mercur", "Oxygen", "grâu", "Rusia", "Moscova", "Shine"); $ i \u003d 1; În timp ce ($ i ++<= count($array)) { print "
"$ I.". "$ matrice [($ i - 1)].". ") / * Rezultatul ciclului va fi: 1. Apple. 2. Cartofi. 3. Pepene verde. 4. Floarea. 5. Apă. 6. Mercur. 7. Oxigen. 8. Grâu. 9. Rusia. 10. Moscova. 11. Lustrui. * /

Ciclul de timp pentru dezvoltatorii începători este simplu și înțeles.

Ciclul de predare

Foresa Loop nu este similar cu toate enumerate. A apărut în PHP4, destinată enumerarea matricelor. Dezvoltatorul nu are nevoie să inventeze nimic pentru asta. Totul este ușor și simplu:

/ ** * Ciclul de predare trebuie înțeles ca fiind "pentru fiecare". * Matricea prelucrată de ciclu este transmisă de o variabilă, care * este disponibilă numai în interiorul corpului ciclului. Dacă doriți, puteți contacta * și la cheile matricei. * / Foreach (Array ca element_massiva) (body_) foeach (matrice ca cheie_massive \u003d\u003e element_massiva) (body_ciccles;)

Principiul funcționării ciclului de foiach nu este deloc cum ar fi, în timp ce și faceți ciclurile. Prin urmare, pentru dezvoltatorii neexperimentați, este destul de greu de înțeles ce poate fi (și chiar este necesar).

// Schimbați matricea deja familiarizată cu noi. Vom face asociativ. $ Array \u003d Array ("Apple" \u003d\u003e "fructe", "cartofi" \u003d\u003e "legume", "watermelon" \u003d\u003e "boabe", "floare" \u003d\u003e "plantă", "apă" \u003d\u003e "lichid", "Mercur" \u003d\u003e "Metal", "Oxygen" \u003d\u003e "gaz", "grâu" \u003d\u003e "pâine", "Rusia" \u003d\u003e "Rodina noastră", "Moscova" \u003d\u003e "capitala patriei noastre" Duș "\u003d\u003e" popados "); $ i \u003d 1; // putem face acest lucru FOREACH ($ matrice ca $ V) (Imprimare "
"$ I.". "$ v". "" $ I ++;) / * Obținem un rezultat neașteptat 1. Fructe. 2. Legume 3. Boabe. 4. Planta. 5. Lichid. 6. Metal. 7. Gaz. . Pâine. 9. Pietria noastră. 10. Capitala patriei noastre. 11. Popados. * / // Acum, hai să facem foreach ($ matrice ca $ k \u003d\u003e $ V) (Imprimare
"$ I.". . "$ k." "Acesta este. $ V." ", $ I ++;) / * Acum rezultatul va fi așa 1. Apple este un fruct. 2. Cartofii sunt o legume. 3. Pepene verde este o boabe. 4. Flori este o plantă. 5. Apa este un lichid. 6. Mercurul este un metal. 7. Oxigenul este un gaz. 8. Grâul este pâine. 9. Rusia este patria noastră. 10. Moscova este capitala patriei noastre. 11. Shine este un poppiem. * /

Înțelegi cum funcționează acest ciclu? Dacă nu, puteți pune o întrebare în comentariile la material.

În orice ciclu, puteți utiliza construcții pauză sau continua.. Uneori nu are sens să continuați funcționarea ciclului sau trebuie să mergeți la următoarea iterație.

$ Array \u003d Array ("Apple" \u003d\u003e "fructe", "cartofi" \u003d\u003e "legume", "watermelon" \u003d\u003e "boabe", "floare" \u003d\u003e "plantă", "apă" \u003d\u003e "lichid", "Mercur" \u003d\u003e "Metal", "Oxygen" \u003d\u003e "gaz", "grâu" \u003d\u003e "pâine", "Rusia" \u003d\u003e "Rodina noastră", "Moscova" \u003d\u003e "capitala patriei noastre" Duș "\u003d\u003e" popados "); $ i \u003d 1; / / Exemplu de ciclu cu designul de valadă continuă ($ k \u003d\u003e $ v) (dacă ($ k! \u003d "Oxygen") Continuați; Imprimare "
"$ I.". . "$ k." - Asta este. "$ V.". "$ I ++;) / * Rezultatul va fi așa 1. Oxigenul este gazul. * / $ I \u003d 1; // exemplu de ciclu care rulează cu designul de pauză Foreach ($ matrice ca $ k \u003d\u003e $ v) (dacă ($ k \u003d\u003d "oxigen") pauză; tipărire "
"$ I.". . "$ k." - Acesta este. $ V. "" $ I ++;) / * Rezultatul va fi așa 1. Un măr este un fruct. 2. Cartofii sunt o legume. 3. Pepene verde este o boabe. 4. Floarea este a plantă. 5. Apa este un lichid. 6. Mercurul este metal. * /