Bucle eficiente de foreach: PHP și mese regulate

Informațiile reprezentate în tablouri pot diferi în funcție de tipul de valori și de dimensiunea acestora, iar numărul elementelor nu poate fi întotdeauna determinat în avans. Programarea modernă, în special în versiunea distribuită, permite crearea de structuri complexe de date ale căror conținut și proprietăți pot fi determinate dinamic într-un timp nedeterminat în timp ca rezultat al diferitelor acțiuni sau evenimente dintr-o secvență diferită.

foreach php

Nu întotdeauna în stadiul de dezvoltare, puteți anticipa procesul de operare, puteți oferi toate opțiunile posibile pentru prezentarea și utilizarea informațiilor, dinamica apariției și utilizării acestora.

Sintaxă ciclu după conținut

Formulând foreach-ul de sintaxă, PHP a oferit două opțiuni pentru accesarea elementelor. Ambele nu depind nici de tipul cheii, nici de tipul de valoare și pot fi emulate de bucla normală. Se propune tratarea matricei ca o colecție de elemente, numărul cărora nu este definit inițial. O matrice poate fi formată în zbor, cu sau fără chei. Într-o matrice, un element poate fi șters, cheile pot fi asociative și formate în mod implicit.

foreach ($ aArrayName ca $ xValue) {corpul bucla}

Acest design obligă bucla PHP din foreach să treacă prin toate elementele dintr-un rând. În corpul bucla, variabila $ xValue va prelua secvențial toate valorile array $ aArrayName în ordinea în care au fost adăugate. Valorile cheie ale elementului nu vor fi disponibile.

foreach ($ aArrayName ca $ xKey => $ xValue) {corpul bucla}

Aici, de asemenea, îndeplinirea foreach de design, PHP va scana întregul conținut al matrice, dar perechile în buclă va avea o valoare corespunzătoare ca variabila $ Xvalue, iar $ xKey variabila - element cheie.

foreach php bucla

Secvența elementelor

În interiorul PHP foreach va oferi conținut în ordinea în care elementele adăugate, dar în cazul în care s-au repetat plus / îndepărtare, și adaugă ceva la cheile și ceva fără, cel mai bine este de a face munca în formarea de matrice cu o matrice cu poziții ale unei secvențe de elemente, dar bazate pe conținutul lor sau pe chei.

php foreach matrice

Datorită diferitelor motive obiective, secvența din cadrul matricei poate să nu fie respectată și / sau nu poate avea o semnificație importantă, dar nu ar trebui orientată în niciun caz. În probleme simple, pe seturi de date triviale, nu există probleme, iar algoritmul poate fi configurat pentru procesare secvențială, dar când procesul de creare / editare a unei matrice este influențat de mulți factori, trebuie să se concentreze asupra conținutului.

Elemente "corecte" moderne

Din punctul de vedere al conceptului de sine curent, chiar și fără a lua în considerare necondiționat ca limbi, PHP foreach matrice trebuie să fie proiectate ținând cont în mod independent, sarcina specifică reală.



Practica atunci când există un anumit lucru și acesta are un indice în colecția generală a lui similar într-un anumit criteriu - a fost ieri.

Indicele a fost cheia, iar matricea a luat forma unei matrice asociative. Aceasta este cheia pierdut de serie unic (fost de obicei consistente: 0, 1, 2, ... n) și, de asemenea, a început să valoare, dar o valoare simplă (de exemplu, tasta) asociată cu valoarea reală (adică conținutul elementului). Este astăzi, este corect, dar nu perfect.

Acesta este motivul pentru care buclă foreach este considerată de PHP ca o alternativă la o buclă obișnuită care este orientată spre rețelele regulate. Acest lucru este în primul rând și acest lucru este foarte important, deoarece implică corectitudinea reală a elementelor matrice, precum și cheile lor!

Corpuri corecte de elemente obișnuite

Mai întâi a existat un element, apoi două elemente ... deci a existat o serie de elemente și o buclă de-a lungul unei serii de elemente:

pentru ($ i = 0- $ i

corpul de procesare al fiecărui $ aArrayName [$ i]

}

Apoi elementul în loc de faceless 0, 1, 2, ... n avea propriul nume - cheia și apoi matricele au devenit asociative și apoi a fost nevoie de o buclă foreach - o "buclă pentru fiecare":

foreach ($ aArrayName ca $ xKey => $ xValue) {

corpul de procesare al fiecărui $ aArrayName [$ xKey] sau $ xValue care este același

}

Acum este momentul să veniți la matricele cu elementele potrivite, adică aceia care sunt ei înșiși. Ei înșiși cunosc indicele lor, conținutul lor, locul lor în ordine, sunt înclinați să-și exercite propria alegere de secvență și să delege toate aceste posibilități la gama reală care le conține.

Astfel de rețele regulate vor fi gestionate de ei înșiși. O nevoie specială de a folosi cicluri și cicluri obișnuite pentru fiecare nu va fi pur și simplu. Formal, sintaxa și semantica este permite deja, întrebarea este numai pentru inerția conștiinței dezvoltatorului.

Distribuiți pe rețelele sociale:

înrudit
Matricea. Elementele matricei. Sumă elemente elemente matrice, numărMatricea. Elementele matricei. Sumă elemente elemente matrice, număr
JS foreach obiect ca design varianteJS foreach obiect ca design variante
PHP: matrice în matrice. Căutarea într-o serie de PHPPHP: matrice în matrice. Căutarea într-o serie de PHP
PHP: ultimul element. Arra în dinamicăPHP: ultimul element. Arra în dinamică
jаvascript: typeof - nevoie sau noi caracteristicijаvascript: typeof - nevoie sau noi caracteristici
Buclele jаvascript: pentru, în timp ce, în timpBuclele jаvascript: pentru, în timp ce, în timp
Infinit pentru (Java) buclăInfinit pentru (Java) buclă
Java Array. Arrays în Java. Java pentru începătoriJava Array. Arrays în Java. Java pentru începători
jаvascript Array pentru a stoca un număr nelimitat de variabilejаvascript Array pentru a stoca un număr nelimitat de variabile
Funcția de creare a unui tabel în SQL - Crearea tabeluluiFuncția de creare a unui tabel în SQL - Crearea tabelului
» » Bucle eficiente de foreach: PHP și mese regulate