Syntaks:
for hver loop kan kun bruges til at læse arrayværdierne eller begge nøgler og værdier i arrayet.
Det følgende for hver loop bruges til at læse elementværdierne i en matrix. Det kan bruges til at læse både numeriske og associerende arrays. Hver elementværdi i arrayet lagres i en variabel i hver iteration.
foreach ($ array som $ værdi)// udsagn
Det følgende for hver loop bruges til at læse elementværdierne i en matrix. Det bruges hovedsageligt til at læse associerende arrays. I hver iteration af sløjfen lagres hver nøgle og værdi i arrayet i to variabler.
foreach ($ array som $ key => $ element)// udsagn
Eksempel 1: Læsning af et numerisk array
Følgende eksempel viser, hvordan man læser det numeriske array ved hjælp af a for hver løkke. Opret en PHP-fil med følgende script.
En numerisk matrix navngivet $ num_array af 10 elementer er erklæret i scriptet, og en tom matrix navngivet $ new_array erklæres for at gemme lige numre fra det numeriske array. for hver loop bruges til at gentage det numeriske array, og hvis tilstand bruges til at finde ud af lige tal fra $ num_array og gem alle lige numre i $ new_array. En anden for hver loop bruges til at udskrive værdierne af $ num_array.
// Erklær et numerisk array$ num_array = array (12, 90, 15, 6, 32, 38, 75, 57, 60, 78);
// Erklær et tomt array
$ new_array = array ();
// initialiser indekset for det tomme array
$ indeks = 0;
ekko "Arrayværdierne er:
";
/ * Iterer det numeriske array for at finde ud af de numre, der kan deles med 5
og gem i et nyt array * /
foreach ($ num_array som $ værdi)
hvis ($ værdi% 5 == 0)
$ new_array [$ index] = $ værdi;
$ index ++;
ekko $ værdi."";
ekko "
Listen over numre, der kan deles med 5:
";
// Udskriv værdierne i $ new_array-arrayet
foreach ($ new_array som $ værdi)
ekko $ værdi."";
?>
Produktion:
Følgende output vises efter kørsel af scriptet fra serveren. Outputtet viser, at der er fire lige tal i det numeriske array.
Eksempel 2: Læsning af et associerende array
Følgende eksempel viser, hvordan man læser et associerende array og gemmer de bestemte nøgler fra et array til et andet ved hjælp af a for hver løkke. Her navngives det associerende array $ medlemmer indeholder navnet på medlemmet som nøgle, og Til stede eller Fraværende som matrixens værdi. En tom matrix navngivet $ nuværende_medlem bruges til at gemme navnet på de medlemmer, der er til stede. Dernæst for hver loop bruges til at udskrive værdierne af $ nuværende_medlem.
// Erklær et associerende array$ members = array ('Mehr Nigar' => 'Present', 'Ahmmed Ali' => 'Present', 'Maksudur Rahman' => 'Fraværende', 'Farzana Akter' => 'Present', 'Kamal Hasan' = > 'Fraværende');
// Erklær et tomt array
$ present_members = array ();
// Initialiser indekset til arrayet
$ indeks = 0;
// Find ud af listen over nuværende medlemmer
foreach ($ medlemmer som $ key => $ værdi)
hvis ($ værdi == 'Nuværende')
$ present_members [$ index] = $ nøgle;
$ index ++;
// Tæl det samlede antal nuværende medlemmer
$ count = count ($ present_members);
ekko "$ count medlemmer er til stede.
";
ekko "Medlemmerne er:
";
// Udskriv listen over nuværende medlemmer
foreach ($ present_members som $ værdi)
ekko $ værdi. "
";
?>
Produktion:
Følgende output vises efter kørsel af scriptet fra serveren. Den associerende matrix indeholder tre Til stede værdier og to Fraværende værdier. Til dette viser output tre medlemmers navne fra $ medlemmer array, der er til stede.
Eksempel 3: Læsning af egenskaberne for objektvariablen
Det følgende eksempel viser måden at læse ejendomsnavne på og værdierne for ethvert objekt. Opret en PHP-fil med følgende script.
En klasse navngivet Kunde er defineret i scriptet, der indeholder tre offentlige egenskaber med værdier. Dernæst $ objekt variabel oprettes for at få adgang til klassens egenskaber. Objektvariablen kan parses som det associerende array ved hjælp af foreach-sløjfen. Det for hver loop bruges her til at læse ejendomsnavnet og egenskabsværdien af objektvariablen, $ objekt. Hvert ejendomsnavn og værdi af $ objekt læses i hver iteration af sløjfen og udskrives i hver linje.
// Definer klassen med tre egenskaberklasse kunde
public $ name = 'Mehnaz Hossain';
public $ email = '[email protected]';
offentlig $ telefon = '0184423675';
// Opret objekt til klassen
$ objekt = ny kunde ();
// Udskriv objektegenskaberne ved hjælp af foreach-loop
ekko "
Kundedetaljerne:
";foreach ($ objekt som $ ejendom => $ værdi)
ekko "$ ejendom = $ værdi
";
?>
Produktion:
Følgende output vises efter kørsel af scriptet fra serveren. Det Kunde klasse indeholder tre egenskaber, som er navn, e-mail, og telefon. Disse egenskaber initialiseres med værdierne i klassen. Ejendommens navne og værdier er udskrevet i output.
Konklusion
De forskellige anvendelser af foreach-sløjfen i PHP er beskrevet i denne vejledning ved hjælp af flere eksempler. Måderne til at læse array- og objektvariabler ved hjælp af foreach-løkken vises også.
Denne loop er bedre at bruge, når poster hentes fra enhver databasetabel ved hjælp af PHP. Denne sløjfe kan bruges til kun at læse arrayværdierne eller egenskabsværdierne for objektet og læse arrayværdierne med nøgler eller egenskabsværdierne med navnene.