Végigmegy a tömb
feladat
El kell menni egyenként, és feldolgozza az összes vagy néhány elem
zsaruk tömb.
döntés
Használja a foreach nyilatkozata:
foreach ($ tomb as $ ertek) // fellépés $ value
>
Vagy egy sor kulcsok és értékek:
foreach ($ tomb as $ kulcs => $ ertek) // Act II
>
Egy másik módja az, hogy egy a nyilatkozatot:
for ($ kulcs = 0, $ size = count ($ tomb); $ kulcs $ költség).
>
Az utasítás foreach PHP nem érinti az eredeti tömb, és egy-egy példányt.
Ezzel szemben, ha az egyes (), és a kezelő számára, PHP megismétli az eredeti tömb. Ezért, ha a tömb módosítás történik belsejében egy hurok, akkor lehetséges (vagy nem kapja) a várt viselkedést.
Ha módosítani kell a tömb, használjunk közvetlen linket is:
Változók által visszaadott egyes (), nem utal a kezdeti értékeket a tömb
- egy példányt őket, így változtatni, nem tükröződik a tömbben. Ezért meg kell módosítani a változó $ elem [$ item] helyett a változó $ elemet.
Ha minden egyes () PHP felügyeli és tárolja a helyzetben a ciklusban. Ahhoz, hogy kezdődik az első ciklus után az első lépés, hívja a reset () függvény visszatérési mutató visszakerüljön abba a pozícióba, mielőtt a ciklus. egyébként
A funkció minden () értéket ad vissza hamis.
A for ciklus csak akkor működik, abban az esetben a tömbök egymás egész kulcsokat. Ha a hossza a tömb nem változik, akkor neeffektivnopri mindegyik járat ciklus újra hatására a count () függvény segítségével kiszámíthatja a változó $ terméket.
Ezért a tárolás hossza a tömb, mindig a változó $ méret:
for ($ item = 0, $ size = count ($ elem); $ item = 0; $ item--).
>
Asszociatív változata a for ciklus:
A (reset ($ tomb); $ kulcs = kulcs ($ array) mellett ($ array)).
>
Ez azt eredményezi, hogy hiba, ha minden elemet tartalmaz karakterlánc értékét egyenlővé hamis, ezért úgy tűnik, hogy a rendes érték, mint a 0, vezethet korai befejezése a ciklus.
Végül használd array_map () függvény, hogy minden egyes tétel feldolgozási funkciók:
// fordítani minden szót kisbetűs
$ Lc = array_map (strtolower ', $ szó);
Az első érv array_map () függvény a neve a függvény, amely módosítja egy külön elem, és a második argumentum - egy tömb, amely a feldolgozott egy ciklusban.
Általában ezeket a funkciókat kell tekinteni kevésbé rugalmas, mint a korábban tárgyalt módszerekkel, de ezek különösen jól alkalmazható és összekapcsolja több tömbök.
Ha ez nem ismert, hogy a feldolgozott adatokat skalárnak vagy tömbként, meg kell előznie az egy foreach állítás nem egy tömb. Ennek egyik módja - ez a használata is_array () függvényt:
if (is_array ($ elem)) // kód foreach hurok tömb
> Else // kódot skalár mennyiség
>
Egy másik módja az, hogy erő az átalakítás az összes változót a tömbben a settype () funkció:
settype ($ példány, 'array');
// kód hurok tömbök
Ez bekapcsolja a skalár értéket egyetlen elemből álló tömb, és teszi a kódot vonzóbbá rovására kevés további fölött.