Névjegyzék

Foreach nyelv PHP parancs. Tegye, miközben és foreach ciklusokat. Változtassa meg a belső tömbindexet az iteráció során

Gyakran minden elemen át kell mennie array PHP. És töltsön el néhány műveletet minden egyes elemen. Például minden értéket ki lehet adni hTML asztal Vagy állítson be minden elemet egy új értékre.

Ebben a leckében megnézzük a foreach tervezést, amikor egy ciklust szerveznek az indexelt és a kapcsolódó tömbökre.

Cycle by elem értékek

A Foreach legegyszerűbb esete az indexelt tömb értéke szerinti ciklus megszervezése. Fő szintaxis:

Foreach ($ tömb $ érték) (// bármit jelent a $ értékkel) // a ciklus befejezése után

Például a következő forgatókönyv az indexelt tömbök listáján keresztül halad át, és megjeleníti az egyes nevét:

$ Directors \u003d Array ("Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsees", "Fritz Lang"); Foreach ($ igazgatók, mint $ igazgató) (Echo $ igazgató. "
"; }

A fenti kód megjelenik:

Alfred Hitchcock Stanley Kubrick Martin Scorsese Fritz Lang

A kulcsok és értékek ciklusa

Mi a helyzet a kapcsolódó tömbökkel? Az ilyen típusú tömbök használatakor gyakran szükség van az egyes elemek kulcsához, valamint annak értékére. A foreach design módja a feladat megoldásának módja:

Foreach ($ tömb, $ billentyű \u003d\u003e $ érték) (// tegyen valamit $ billentyűvel és / vagy $ értékkel) // Itt a kód befejezése után a kód végrehajtásra kerül

Példa egy ciklusszervezésre egy társult tömbben a filmekről, megjeleníti az egyes elemek és értéke kulcsát HTML lista Definíciók:

$ Movie \u003d Array ("Cím" \u003d\u003e "Hátsó ablak", "rendező" \u003d\u003e "Alfred Hitchcock", "Év" \u003d\u003e 1954, "perc" \u003d\u003e 112); Echo "

"; Foreach ($ film, mint $ key \u003d\u003e $ érték) (Echo"
$ Key:
"; Visszhang"
$ érték
";) Echo"
";

Ez a parancsfájl eltávolítja:

Cím: Hátsó ablak Rendező: Alfred Hitchcock Év: 1954 perc: 112

Az elem értékének megváltoztatása

És mi a helyzet az elem értékének megváltoztatásával, amikor a ciklus áthalad? Megpróbálhatja ezt a kódot:

Foreach ($ myarray, mint $ érték) ($ érték \u003d 123;)

Ha azonban végrehajtja a végrehajtást, akkor meg fogja találni, hogy az értékek a tömbben ne változz. Ennek az az oka, hogy a foreach működik másolat Masszív értékek, és nem az eredeti. Így az eredeti tömb érintetlen marad.

A szükséges tömb értékeinek megváltoztatása link jelentése. Ehhez tegyen egy jelet és a változó értékét a foreach tervezésben:

Foreach ($ MyRarray as & $ érték) ($ érték \u003d 123;)

Például a következő parancsfájl átmegy a cikluson az egyes elemek (igazgató neve) a $ igazgatói tömbben, és használja pHP funkció Felrobban () és lista tervezési változók neve és vezetéknév:

$ Directors \u003d Array ("Alfred Hitchcock", "Stanley Kubrick", "Martin Scorsees", "Fritz Lang"); // Módosítsa a név nevét az egyes FOREACH elem ($ igazgatók as & $ igazgató) (lista ($ firstname, $ lastname) \u003d felrobban ("", $ igazgató); $ igazgató \u003d "$ vezetéknév, $ firstname"; ) nem ($ igazgató); // megjeleníti a végső eredményt a foreach ($ igazgató, mint $ igazgató) (Echo $ igazgató. "
"; }

A parancsfájl eltávolítja:

Hitchcock, Alfred Kubrick, Stanley Scorsese, Martin Lang, Fritz

Ne feledje, hogy a script az első ciklus befejezése után az ENKED () függvényt hívja. Ez jó gyakorlat, ha egy másik kontextusban a szkriptben változó változót kíván használni.

Ha nem törli a linket, azaz az alkalmi referenciakód további végrehajtásának kockázata a tömb utolsó eleméhez ("LANG, FRITZ"), ha tovább használja a $ igazgatói változót, amely vezet előre nem látható következmények!

Összefoglaló

Ebben a leckében megvizsgáltuk, hogyan kell használni a PHP foreach tervezését, hogy megszervezzen egy ciklust a tömb elemeire. A kérdéseket felülvizsgálták:

  • Hogyan szervezzen egy ciklust a tömb elemeire
  • Hogyan lehet elérni az egyes elemek kulcsát és értékét
  • Használja a linket az értékek megváltoztatásának módosításához

A PHP foreach ciklus a következőképpen használható:

foreach ($ array_name, mint $ érték) (// kód, amelyet végre kell hajtani)

foreach ($ array_name, mint $ billentyű \u003d\u003e $ érték) (// // kód, amelyet végre kell hajtani)

Példa egy numerikus tömbvel ellátott foreach ciklus használatára

Ebben a példában öt elemet fogunk létrehozni numerikus értékek. Ezt követően a PHP foreach ciklusát használják, hogy elvégezzék a tömb iterációját. A foreach cikluson belül visszhangot használtunk a tömb értékének megjelenítéséhez:

Nézze meg a demo verziót és kódot

Példa a tömb kulcsokkal és értékei

Ez a példa egy másik módot ír le a foreach PHP ciklus használatára. Ehhez három elemet hozott létre egy asszociatív tömböt. Ez magában foglalja a munkavállalói neveket ( kulcsok) és összeg bérek (értékként):

Nézze meg a demo verziót és kódot

Egy példa a tömbelem értékének megváltoztatására a foreach ciklusban

Ön is C. pHP használatával. Array foreach Megváltoztathatja a tömbelemek értékeit. Ehhez használja a "&" előtt "$" -t egy változó értékre. Például:

& $ érték_of_element

Az érték megváltozik. Ahhoz, hogy világosabbá tegye, vegye figyelembe a következő példát.

Ebben a példában öt elem számszerű tömböt hoztunk létre. Ezt követően a foreach hurkot használták az elemek értékeinek megjelenítéséhez.

Ezután létrehozott egy másik foreach ciklust, ahol a "&" hozzáadódik a $ érték_of_element előtt. A göndör zárójelben új értékeket rendelünk a tömb elemeihez.

Ahhoz, hogy az új értékek hozzárendelése előtt és után megjelenjen a különbség, a tömb a Print_r () funkció használatával jelenik meg.

Nézze meg a demo verziót és kódot

Mi a PHP foreach ciklus?

A PHP foreach ciklusát egy tömbben dolgozni kell. Minden elemen átmegy.

A ciklus tömbjeivel is használhatod. Például a hosszúságú tulajdonság használatával a tömb hosszának megszerzéséhez, majd a max operátorként alkalmazza. De a foreach könnyebbé teszi, mivel úgy tervezték, hogy tömbökkel dolgozzon.

Ha a MySQL-vel dolgozik, akkor ezért ez a ciklus Még több. Például választhat több sort az adatbázis asztalról, és átadhatja őket egy tömbbe. Ezt követően a foreach ciklus használatával járjon át a tömb összes elemével, bármilyen művelet végrehajtásával.

Ne feledje, hogy a foreach ciklust egy tömbben vagy csak az objektummal használhatja.

A foreach ciklus alkalmazása

A PHP-ben kétféleképpen használhatják a PHP ciklus használatát. Mindkettőt az alábbiakban ismertetjük.

  • Az első felhasználási mód szintaxisa:

foreach ($ array_name, mint $ érték) (Echo $ érték)

Ugyanakkor meg kell adnia a tömb nevét, majd a $ értékváltozót.

Minden iteráció esetében az aktuális elem értéke a $ értékváltozóhoz van hozzárendelve. Az iteráció befejezése után a változó hozzárendeli a következő elem értékét. És így amíg a tömb összes eleme eltűnik.

  • A második módszer szintaxisa ( PHP foreach, mint kulcsérték):

Ez alkalmas olyan asszociatív tömbökre, amelyekben a kulcs / értékpárokat használják.

Az egyes iteráció során az aktuális elem értéke a $ érték_OF_ELEMENT változóhoz lesz hozzárendelve. Ezenkívül az elemgombot egy $ key_of_element változó hozzárendeli.

Ha numerikus tömbökkel dolgozik, akkor az első módszert használhatja, amelyben az elemek gombjai nem szükségesek.

Ez a kiadvány a cikk fordítása " PHP foreach hurok 2 módja annak használatára"Elkészített egy barátságos projektcsapat

A foreach design számos, a nyelvet tartalmazza, hogy egyszerűsítse a tömbelemek generációját. Kétféle foreach parancs van különböző típusok Tömbök:

foreach ($ elemként) ($ elem) (

foreach (Array $ billentyű \u003d\u003e $ elem) (

Például a következő fragmentum végrehajtásakor:

$ Menu \u003d Arrau ("tészta", "steak", "burgonya", "hal", "sült");

foreach ($ menü $ tétel) (

nyomtatás "$ elem
";

a következő eredmény származik:

Ebben a példában figyelmet kell fordítani két körülményre. Először is, a foreach design automatikusan visszatér a tömb elejére (más ciklikus struktúrákban nem fordul elő). Másodszor, nincs szükség kifejezetten növelni a számlálót, vagy más módon kapcsolja be a tömb következő elemét - ez minden egyes iterációnál automatikusan történik.

A második lehetőséget a munka során használják asszociatív tömbök:

$ Wine_inventory \u003d Array (

"MERLOT" \u003d\u003e 15,

"Zinfandel" \u003d\u003e 17,

"Sauvignon" \u003d\u003e 32

foreach ($ Wine_inventory, mint $ i \u003d\u003e $ item_count) (

nyomtatás "$ item_count palackok $
";

Ebben az esetben az eredmény így néz ki:

15 palack merlot maradt

17 palack zinfandel maradt

32 palack Sauvignon maradt

Amint a fenti példákból látható, a foreach tervezés egyszerűsíti a munkákat tömbökkel.

A kapcsoló kialakításának elve részben emlékeztetőkre emlékeztet, ha a kifejezés kiszámításánál kapott eredményt a potenciális egybeesések listájával ellenőrzik.

Ez különösen alkalmas több érték ellenőrzése során, mivel a kapcsoló használata a program vizuális és kompakt. Megosztott kapcsoló parancsformátum:

kapcsoló (kifejezés) (kifejezés) (

eset (állapot):

eset (állapot):

Az ellenőrzött állapot zárójelben szerepel a kapcsoló kulcsszó után. Számításának eredményét következetesen összehasonlítjuk az esetek feltételeihez képest. Ha a véletlenséget észleli, a megfelelő szakasz blokkját elvégzik. Ha a véletlen egybeesés nem észlelhető, az opcionális alapértelmezett szakasz egysége történik.

Amint az alábbi fejezetekben jelenik meg, a PNP egyik legerősebb oldala a felhasználói bemenet feldolgozása. Tegyük fel, hogy a program megjeleníti a legördülő listát több opcióval, és minden vonal vonal megfelel bizonyos parancsok által elvégzett parancsnak. A megvalósítás nagyon kényelmes a kapcsoló parancs használatával:

$ user_input \u003d "Receptek"; // A felhasználó által kiválasztott csapat

kapcsoló ($ user_input):

case ("Keresés"):

nyomtassa ki a "Let" s keresést! ";

case ("szótár"):

nyomtatás "Milyen szót szeretne keresni?";

case ("Receptek"):

nyomtatás "Itt van a receptek listája ...";

nyomtatás "Itt van a menü ...";

Amint látható az ábrázolt fragmensből, a kapcsoló parancs világos és vizuális szervezeti kódot tartalmaz. A kapcsoló állapotában megadott változó (a ez a példa - $ user_input), az összes későbbi esettanulmány feltételeihez képest. Ha az adott esetben megadott érték megfelel az összehasonlító változó értékének, akkor a szakasz blokkját elvégzik. A Break parancs megakadályozza a további esetek ellenőrzését és befejezi a kapcsoló kialakításának végrehajtását. Ha a bizonyított feltételek egyike sem történik, az opcionális alapértelmezett szakasz aktiválva van. Ha az alapértelmezett szakasz hiányzik, és a feltételek egyike sem történik, a kapcsoló parancs egyszerűen befejeződött, és a program folytatódik a következő parancsban.

Emlékszeni kell arra, hogy a szünet parancs hiányában az ügyszakasz esetében (lásd a következő részt), a kapcsoló a következő parancsot folytatja, amíg meg nem találkozik a Break parancsot vagy a kapcsoló kialakításának végét. A következő példa bemutatja az elfelejtett csapatszünet hiányának következményeit: $ érték \u003d 0,4;

kapcsoló ($ érték):

nyomtatás "érték 0,4
";

nyomtatás "érték 0,6
";

nyomtatás "érték 0,3
";

nyomtatás "Nem sikerült választani egy értéket!";

Az eredmény így néz ki:

A Break parancs hiánya arra a tényre vezetett, hogy nem csak a nyomtatási parancsot végezték el a szakaszban, ahol a véletlenséget találták, hanem a nyomtatási parancsot a következő szakaszban is. A kapcsoló tervezési parancsok végrehajtása megszakadt a második nyomtatási parancs utáni kapcsoló parancs miatt.

A választás és a parancsok közötti választás gyakorlatilag nincs hatással a Pro-Gram teljesítményére. Az adott design használatára vonatkozó döntés meglehetősen személyes programozó.

A Break parancs azonnal megszakítja a tervező teljesítését, a míg vagy a kapcsolót, amelyben található. Ezt a parancsot már említettük az előző szakaszban, de az aktuális ciklus megszakítása nem kimeríti a Break Team funkciókat. BAN BEN tábornok A szünet szintaxis így néz ki:

Az N opcionális paraméter meghatározza a szünet parancs által kitöltött kontrollstruktúrák szintjét. Például, ha a Break parancsot két, míg a parancsok és a törés után a 2. ábra mindkét ciklusból azonnali kimenet következik be. Alapértelmezés szerint n értéke 1; A kimenet egy szintre kijelölhető mind az 1, mind a Break parancs paraméter nélkül történő kifejezett jelzésével. Kérjük, vegye figyelembe: Az I F parancs nem vonatkozik a szünet parancs által megszakított kontrollstruktúrák számára.

Tegye, miközben és foreach ciklusokat

Ciklus. . . Míg

Ciklus ... míg A C # -ban a perverter verziója. Ez azt jelenti, hogy a ciklus állapotát a ciklus testei után ellenőrzik. Következésképpen a ciklusok ... miközben az olyan helyzetekben vannak, ahol az üzemeltetők egységét legalább egy napig kell elvégezni. Az alábbiakban a DO-míg a cikluskezelő általános formája:

do (operátorok,) míg (állapot);

Ha csak egy operátor van, akkor a számított zárójelek ebben az űrlapon opcionálisak. Mindazonáltal gyakran használják, hogy a do-míg a tervezés jobban olvashatóbbá váljon, és ne zavarja a míg a ciklus kialakítását. A to-míg ciklust addig végzik, amíg a feltételes kifejezés igaz. A DO-WIDE ciklus használataként a következő programot hozza ki, amely kiszámítja a számok számát:

Rendszer használata; System.Collections.Genic használata; A system.linq használata; A System.Text használatával; NévpeceCace CompenEplication1 (String Args (Próbálja meg (Próbálja meg az args) (próbálja meg (// kiszámítja az int i számot, eredmény \u003d 1, szám \u003d 1, konzol.writeline ("Írja be a számot (Konzol .readline ()); konzol.write ("\\ n \\ nfactorial (0) \u003d", i); do (eredmény * \u003d szám; num ++, míg (Num

Foreach ciklus

Foreach ciklus A gyűrűs fellebbezést szolgálja a gyűjtemény elemeihez, amely tárgyak csoportja. A C # többféle gyűjteményt határoz meg, amelyek mindegyike egy tömb. Az alábbiakban a Foreach ciklus-üzemeltető közös formája:

foreach (type_name_name típus a gyűjtemény) operátor;

Itt típus NAME_NAME_TIKLA Jelzi a Cycle Control változó típusát és nevét, amely megkapja a gyűjtemény következő elemének értékét a forgalmi ciklus végrehajtásának minden egyes szakaszában. A gyűjtemény egy ciklikusan megkérdezett gyűjteményt jelöl, amely a továbbiakban egy tömb. Következésképpen a ciklusváltozó típusának meg kell felelnie a tömbelem típusának. Ezenkívül a típus megjelölhető kulcsszó var. Ebben az esetben a fordító meghatározza a ciklusváltozó típusát a tömbelem típusán alapulva. Ez hasznos lehet bizonyos típusú kérésekkel való együttműködéshez. De általában a típust kifejezetten jelzi.

A foreach ciklus-üzemeltető az alábbiak szerint jár el. A ciklus megkezdődik, a tömb első eleme van kiválasztva, és a ciklusváltozó hozzárendeli. Minden további iterációs lépésnél a tömb következő eleme van kiválasztva, amelyet a ciklusváltozóban tárolunk. A ciklus befejeződött, ha a tömb összes elemét kiválasztják.

Az Foreach hurok lehetővé teszi, hogy átadja a gyűjtemény minden elemét (egy objektum, amely más tárgyak listáját ábrázolja). Formálisan, hogy valami gyűjteménynek tekinthető, ez támogatnia kell az énszűrhetetlen felületet. A gyűjtemények példái C # tömbökként szolgálhatnak, a gyűjtemények osztályai a rendszerből



Tetszett a cikket? Oszd meg