Süntaks:
igaühele loopi saab kasutada ainult massiivi väärtuste või nii massiivi võtmete kui ka väärtuste lugemiseks.
Järgnev igaühele loopi kasutatakse massiivi elemendi väärtuste lugemiseks. Seda saab kasutada nii numbriliste kui ka assotsiatiivsete massiivide lugemiseks. Massiivi iga elemendi väärtus salvestatakse igas iteratsioonis muutujasse.
foreach ($ array kui $ value)// avaldused
Järgnev igaühele loopi kasutatakse massiivi elemendi väärtuste lugemiseks. Seda kasutatakse peamiselt assotsiatiivsete massiivide lugemiseks. Tsükli igas iteratsioonis salvestatakse massiivi iga võti ja väärtus kahte muutujasse.
foreach ($ array kui $ key => element $)// avaldused
Näide 1: numbrilise massiivi lugemine
Järgmine näide näitab viisi, kuidas lugeda numbrilist massiivi a abil igaühele silmus. Looge järgmise skriptiga PHP-fail.
Numbriline massiiv nimega $ num_array 10 elemendist deklareeritakse skriptis ja tühi massiiv nimega $ new_array on deklareeritud, et see salvestaks arvulise massiivi paarisarvud. igaühele silmust kasutatakse numbrilise massiivi kordamiseks ja kui tingimust kasutatakse paarisarvude väljaselgitamiseks $ num_array ja salvestage kõik paarisarvud $ new_array. Teine igaühele silmust kasutatakse väärtuste printimiseks $ num_array.
// Deklareeri numbriline massiiv$ num_array = massiiv (12, 90, 15, 6, 32, 38, 75, 57, 60, 78);
// Kuulutage tühi massiiv
$ new_array = massiiv ();
// lähtestage tühja massiivi register
$ indeks = 0;
echo "Massiivi väärtused on:
";
/ * Kordage numbriline massiiv, et teada saada 5-ga jagatavad arvud
ja salvestage uude massiivi * /
foreach ($ number_array kui $ väärtus)
kui ($ väärtus% 5 == 0)
$ new_array [$ index] = $ väärtus;
$ indeks ++;
kaja $ väärtus."";
kaja "
5-ga jagatavate numbrite loend:
";
// Trükkige massiivi $ new_array väärtused
foreach ($ new_array kui väärtus $)
kaja $ väärtus."";
?>
Väljund:
Järgmine väljund ilmub pärast skripti käivitamist serverist. Väljund näitab, et numbrimassiivis on neli paarisarvu.
Näide 2: assotsiatiivse massiivi lugemine
Järgmine näide näitab, kuidas lugeda assotsiatiivset massiivi ja salvestada teatud võtmeid ühest massiivist teise, kasutades a igaühele silmus. Siin nimetatakse assotsiatiivne massiiv $ liiget sisaldab võtmena liikme nime ja Kohal või Puudub massiivi väärtusena. Tühi massiiv nimega $ present_member kasutatakse kohalolevate liikmete nime salvestamiseks. Järgmine igaühele silmust kasutatakse väärtuste printimiseks $ present_member.
// Kuulutage assotsiatiivne massiiv$ liikmed = array ('Mehr Nigar' => 'Kohal', 'Ahmmed Ali' => 'Kohal', 'Maksudur Rahman' => 'Puudub', 'Farzana Akter' => 'Kohal', 'Kamal Hasan' = > 'Puudub');
// Kuuluta tühi massiiv
$ present_members = massiiv ();
// Initsialiseeri massiivi register
$ indeks = 0;
// Uurige praeguste liikmete loendit
foreach ($ liikmed kui $ key => $ väärtus)
if ($ value == 'Kohal')
$ present_members [$ index] = $ võti;
$ indeks ++;
// Loendage praeguste liikmete koguarv
$ count = count ($ present_members);
kaja "Kohal on $ count liiget.
";
kaja "Liikmed on:
";
// Trükkige praeguste liikmete loend
foreach ($ present_members väärtusega $)
kaja $ väärtus. "
";
?>
Väljund:
Järgmine väljund ilmub pärast skripti käivitamist serverist. Assotsiatiivne massiiv sisaldab kolme Kohal väärtused ja kaks Puudub väärtused. Selle jaoks näitab väljund kolme liikme nime $ liiget massiivi, kes on kohal.
Näide 3: Objekti muutuja omaduste lugemine
Järgmine näide näitab omaduste nimede ja mis tahes objekti väärtuste lugemise viisi. Looge järgmise skriptiga PHP-fail.
Klass nimega Klient on määratletud skriptis, mis sisaldab kolme väärtustega avalikku omadust. Järgmine $ objekt muutuja luuakse klassi omadustele juurdepääsemiseks. Objekti muutujat saab forsseerida kasutades nagu assotsiatiivset massiivi. The igaühele loopi kasutatakse siin atribuudi nime ja objekti muutuja atribuudi väärtuse lugemiseks, $ objekt. Iga atribuudi nimi ja väärtus $ objekt loetakse igas tsükli iteratsioonis ja trükitakse igale reale.
// Määratlege kolme omadusega klassklassi Klient
avalik $ nimi = 'Mehnaz Hossain';
public $ email = '[email kaitstud]';
public $ phone = '0184423675';
// Loo klassi objekt
$ objekt = uus klient ();
// Prindi objekti atribuudid foreachi silmusega
kaja "
Kliendi andmed:
";foreach ($ objekt kui $ property => $ väärtus)
kaja "$ vara = $ väärtus
";
?>
Väljund:
Järgmine väljund ilmub pärast skripti käivitamist serverist. The Klient klass sisaldab kolme omadust, mis on nimi, e-post, ja telefon. Need omadused lähtestatakse klassi sees olevate väärtustega. Atribuutide nimed ja väärtused trükitakse väljundisse.
Järeldus
PHP-s foreachi silmuse erinevaid kasutusviise on selles õpetuses kirjeldatud mitme näite abil. Samuti on näidatud massiivi ja objektimuutujate lugemise viisid foreach-silmuse abil.
Seda tsüklit on parem kasutada siis, kui kirjed leitakse PHP abil igast andmebaasitabelist. Selle tsükli abil saab lugeda ainult objekti massiivi väärtusi või omaduste väärtusi ja massiivide väärtusi lugeda võtmetega või omaduste väärtusi nimedega.