Bruk av foreach -sløyfe i PHP

Bruk av foreach -sløyfe i PHP
Ulike typer løkker kan brukes i PHP. De for hver Loop er en av dem. Denne sløyfen brukes først og fremst til å analysere array og objektvariabler. Når det totale antallet iterasjoner av sløyfen ikke er definert, er det bedre å bruke en for hver sløyfe enn en annen sløyfe. Antall iterasjoner av denne sløyfen vil avhenge av antall arrayelementer eller antall egenskaper til objektet som brukes i løkken for å lese verdier. Hvordan denne sløyfen kan brukes til lesing og objektvariabler er vist i denne opplæringen.

Syntaks:

De for hver Loop kan brukes til å lese arrayverdiene bare eller lese både tastene og verdiene til matrisen.

Følgende for hver Loop brukes til å lese elementverdiene til en matrise. Det kan brukes til å lese både numeriske og assosiative matriser. Hver elementverdi på matrisen vil bli lagret i en variabel i hver iterasjon.

foreach ($ array som $ verdi)
// uttalelser

Følgende for hver Loop brukes til å lese elementverdiene til en matrise. Det brukes hovedsakelig til å lese assosiative matriser. I hver iterasjon av løkken vil hver tast og verdi av matrisen lagres i to variabler.

foreach ($ array as $ key => $ element)
// uttalelser

Eksempel-1: Lese en numerisk matrise

Følgende eksempel viser hvordan du kan lese den numeriske matrisen ved hjelp av for hver Løkke. Opprett en PHP -fil med følgende skript. Et numerisk utvalg som heter $ num_array av 10 elementer er blitt erklært i skriptet, og en tom rekke som er navngitt $ new_array har blitt erklært å lagre de jevne tallene fra den numeriske matrisen. De for hver Loop har blitt brukt til å iterere den numeriske matrisen, og "hvis" -uttalelsen har blitt brukt for å finne ut de jevne tallene fra $ num_array og lagret alle jevnt tall i $ new_array. En annen for hver sløyfe har blitt brukt til å skrive ut verdiene til $ num_array.

// erklære en numerisk matrise
$ num_array = Array (12, 90, 15, 6, 32, 38, 75, 57, 60, 78);
// erklære et tomt utvalg
$ new_array = array ();
// Initialiser indeksen for den tomme matrisen
$ indeks = 0;
ekko "Array -verdiene er:
";
/ * Itererer den numeriske matrisen for å finne ut tallene som er delbar med 5 og lagre i en ny matrise */
foreach ($ num_array som $ verdi)
if ($ verdi%5 == 0)

$ new_array [$ index] = $ verdi;
$ indeks ++;

ekko $ verdi."";

ekko "

Listen over tall som er delbar med 5:
";
// Skriv ut verdiene til $ new_array -arrayen
foreach ($ new_array as $ verdi)
ekko $ verdi."";

?>

Produksjon:

Følgende utgang vises etter å ha kjørt skriptet fra serveren. Utgangen viser at det er fire til og med tall i den numeriske matrisen.

Eksempel-2: Lese et assosiativt utvalg

Følgende eksempel viser hvordan du kan lese en assosiativ matrise og lagre de spesielle nøklene fra matrisen til en annen matrise ved hjelp av en for hver Løkke. Her er det assosiative arrayet som er navngitt $ medlemmer inneholder medlemmets navn som nøkkel og Til stede eller fraværende som verdien av matrisen. Et tomt utvalg som heter $ Present_member har blitt brukt til å lagre navnene på de nåværende medlemmene. Neste, The for hver sløyfe har blitt brukt til å skrive ut verdiene til $ Present_member.

// erklære et assosiativt utvalg
$ medlemmer = Array ('Mehr Nigar' => 'Present', 'Ahmmed Ali' => 'Present', 'Maksudur Rahman' => 'fraværende', 'Farzana Akter' => 'Present', 'Kamal Hasan' = > 'Fraværende');
// erklære et tomt utvalg
$ Present_Members = Array ();
// Initialiser indeksen for matrisen
$ indeks = 0;
// Finn ut listen over nåværende memeber
foreach ($ medlemmer som $ nøkkel => $ verdi)
if ($ value == 'Present')
$ Present_Members [$ index] = $ Key;
$ indeks ++;


// Tell det totale antallet nåværende medlemmer
$ count = count ($ present_members);
ekko "$ tellemedlemmer er til stede.

";
ekko "Medlemmene er:
";
// Skriv ut listen over nåværende medlemmer
foreach ($ Present_Members as $ Verdi)
ekko $ verdi. ""
";

?>

Produksjon:

Følgende utgang vises etter å ha kjørt skriptet fra serveren. Den assosiative matrisen inneholder tre Tilstede verdier og to Fraværende verdier. For dette viser utdataene tre navn på medlemmet fra $ medlemmer Array som er til stede.

Eksempel-3: Å lese egenskapene til objektvariabelen


Følgende eksempel viser hvordan du kan lese egenskapene og verdiene til ethvert objekt. Opprett en PHP -fil med følgende skript. En klasse som heter Kunde har blitt definert i skriptet som inneholder tre offentlige egenskaper med verdier. Neste, The $ objekt Variabel er opprettet for å få tilgang til egenskapene til klassen. Objektvariabelen kan analyseres som den assosiative matrisen ved hjelp av foreach -sløyfen. De for hver Loop har blitt brukt her for å lese eiendomsnavnet og eiendomsverdien til objektvariabelen, $ objekt. Hvert eiendomsnavn og verdi av $ objekt vil bli lest i hver løkke iterasjon og skrevet ut i hver linje.

// definere klassen med tre egenskaper
klassekunde

public $ name = 'Mehnaz Hossain';
public $ e -post = '[email protected] ';
public $ telefon = '0184423675';

// Lag gjenstand for klassen
$ objekt = ny kunde ();
// Skriv ut objektegenskapene ved hjelp av foreach -loop
ekko "

Kundedetaljene:

";
foreach ($ objekt som $ eiendom => $ verdi)

ekko "$ eiendom = $ verdi
";

?>

Produksjon:

Følgende utgang vises etter å ha kjørt skriptet fra serveren. De Kunde Klassen inneholder tre egenskaper: Navn, e -post og telefon. Disse egenskapene initialiseres med verdiene i klassen. Eiendomsnavnene og verdiene skrives ut i utdataene.

Eksempel-4: Å lese verdiene til den dynamiske matrisen

Lag en PHP -fil med følgende skript for å vite bruken av foreach -sløyfen for å lese Dynamic Array's Content. I det følgende skriptet vil et tilfeldig tall mellom 1 til 10 bli generert ved hjelp av RAND () -funksjonen. Deretter vil rekkevidden () -funksjonen lage en rekke tall basert på den tilfeldige verdien, og foreach -sløyfen vil bli brukt til å skrive ut arrayverdiene.

// Initialiser et tilfeldig tall
$ nummer = rand (1,10);
// Skriv ut de dynamiske arrayverdiene basert på tilfeldig verdi]
Foreach (rekkevidde (0, $ nummer) som $ verdi)

ekko "$ verdi \ n";

?>

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor.

Eksempel-5: Å lese verdiene til todimensjonal numerisk matrise

Lag en PHP-fil med følgende skript for å iterere verdiene til den todimensjonale numeriske arrayen ved å bruke den nestede for-løkken. En todimensjonal rekke 5 rader og 3 kolonner er blitt erklært i skriptet. Den ytre foreach -sløyfen har blitt brukt til å lese radverdiene til matrisen, og den indre foreach -sløyfen har blitt brukt til å lese kolonneverdiene til matrisen. Her,

 Tag har blitt brukt til å vise utdataene med fanen.

// erklære en todimensjonal numerisk matrise
$ produkter = Array (Array ('HDD', 'Samsung', '$ 50'),
Array ('Monitor', 'Dell', '$ 90'),
Array ('Mouse', 'A4Tech', '$ 5'),
Array ('Printer', 'HP', '$ 120'),
Array ('Ram', 'Ocz', '$ 40'));
ekko "
";
// Skriv ut overskriften
printf ("Navn \ t \ tbrand \ t \ tprice\ n ");
// Skriv ut verdiene til todimensjonal matrise ved hjelp av nestede foreach-løkker
foreach ($ produkter som $ element)
foreach ($ element som $ verdi)
// Skriv ut verdien med fanen
printf ("%s \ t \ t", $ verdi);

ekko "
";

ekko "
";
?>

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor.

Eksempel-6: Å lese verdiene til flerdimensjonal assosiativ matrise

Lag en PHP-fil med følgende skript for å iterere verdiene til det todimensjonale assosiative matrisen ved å bruke den nestede for-løkken. En todimensjonal rekke 4 rader og 4 kolonner er blitt erklært i skriptet. Den ytre foreach -sløyfen har blitt brukt til å lese radverdiene til matrisen, og den indre foreach -sløyfen har blitt brukt til å lese kolonneverdiene til matrisen.

// erklære fire one-dimensjonelle utvalg av fire elementer
$ student1 = array ("id" => 01, "navn" => "mir sabbir", "batch" => 40, "avd." => 'cse');
$ student2 = array ("id" => 02, "navn" => "Mahbubur Rahman", "Batch" => 45, "avd." => 'BBA');
$ student3 = array ("id" => 03, "navn" => "Sakil Ahmed", "Batch" => 48, "Dept" => 'engelsk');
$ student4 = array ("id" => 04, "navn" => "Ashikur Rahman", "Batch" => 51, "Dept" => 'ETE');
// erklære todimensjonal matrise
$ mult_array = [$ student1, $ student2, $ student3, $ student4];
// Skriv ut nøklene og verdiene til todimensjonelt assosiativt utvalg
foreach ($ mult_array som $ student)
foreach ($ student som $ nøkkel => $ verdi)
ekko " $ nøkkel : $ verdi
";

ekko "

";

?>

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor.

Eksempel-7: Avslutt sløyfen basert på den spesifikke tilstanden

Opprett en PHP -fil med følgende skript for å iterere verdiene til en assosiativ matrise ved hjelp av en foreach -sløyfe og søke i en bestemt tast i matrisen. Hvis det ikke gis noen verdi i nettadressen, "Ingen'vil bli satt som søkeverdi. Hvis nøkkelen eksisterer i matrisen, vil verdien av den tilsvarende tasten skrives ut, og iterasjonen av løkken vil bli stoppet ved å bruke gå i stykker uttalelse. En melding vil bli skrevet ut hvis søketasten ikke eksisterer i matrisen.

// erklære et assosiativt utvalg
$ blomster = ["rose" => 90, "Water Lily" => 87, "Lotus" => 45, "Marigold" => 65, "Sunflower" => 60, "Jasmine" => 23, "Poppy" => 54];
// Initialiser søkeverdien
$ Search = Isset ($ _ Get ['Name'])?$ _GET ['Navn']: 'Ingen';
$ funnet = falsk;
// Les nøklene og verdiene til matrisen ved å bruke foreach -sløyfe
foreach ($ blomster som $ nøkkel => $ verdi)

// Avslutt fra løkken hvis søkeverdien eksisterer i løkken
if ($ key == $ søk)

ekko "Tolalt antall $ nøkkel er $ verdi.";
$ funnet = sant;
gå i stykker;


// Skriv ut meldingen for mislykket søk
if ($ funnet == FALSE) ECHO "Søkeelementet eksisterer ikke.""
?>

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor.

Eksempel-8: Fjerne de spesifikke matriseelementene

Lag en PHP -fil med følgende skript for å fjerne bestemte arrayelementer fra en assosiativ matrise ved hjelp av en foreach -loop. To matriser er blitt erklært i skriptet. Den ene er et assosiativt utvalg, og en annen er et numerisk utvalg. Verdien av den numeriske matrisen som samsvarer med nøkkelen til den assosiative matrisen, vil bli fjernet fra det assosiative matrisen. De assosiative matriseverdiene vil bli skrevet ut før og etter å ha fjernet de aktuelle elementene. I henhold til de numeriske arrayverdiene vil tre assosiative arrayverdier bli fjernet.

// erklære et assosiativt utvalg
$ blomster = ["rose" => 90, "Water Lily" => 87, "Lotus" => 45, "Marigold" => 65, "Sunflower" => 60, "Jasmine" => 23, "Poppy" => 54];
ekko "De originale arrayverdiene:
";
print_r ($ blomster);
ekko "
";
// Initialiser søkeverdien
$ Search = ['Marigold', 'Jasmine', 'Poppy'];
foreach ($ search som $ search_value)

// Les nøklene og verdiene til matrisen ved å bruke foreach -sløyfe
foreach ($ blomster som $ nøkkel => $ verdi)

// Avslutt fra løkken hvis søkeverdien eksisterer i løkken
if ($ key == $ search_value)

// Fjern verdien
unset ($ blomster [$ key]);



ekko "
Arrayverdiene etter fjerne:
";
print_r ($ blomster);
ekko "
";
?>

Produksjon:

Følgende utgang vises etter å ha utført skriptet ovenfor.

Konklusjon:

De forskjellige bruken av for hver Loop i PHP er beskrevet i denne opplæringen ved hjelp av flere eksempler. Måtene å lese forskjellige matriser og objektvariabler ved hjelp av foreach -sløyfen har blitt vist her. Denne sløyfen er bedre når postene blir hentet fra en hvilken som helst databasetabell ved hjelp av PHP. Denne sløyfen kan brukes til å lese bare arrayverdiene eller eiendomsverdiene til objektet og lese matriseverdiene med tastene eller eiendomsverdien med navnet.