Pętle w PHP. Pętla PHP foreach: dwa sposoby użycia Podwójne liczenie PHP w pętli

Jest mało prawdopodobne, że możesz napisać poważny skrypt w PHP bez użycia pętli. Co to jest cykl? Jest to specjalny rodzaj struktury kontrolnej, który pozwala na wielokrotne (a nawet nieskończone) wykonywanie tego samego kodu. W PHP obsługiwane są następujące pętle:

Pierwsze trzy pętle to te, które najprawdopodobniej zobaczysz w większości języków programowania. Pętle, w zależności od warunków, można przerwać lub kontynuować (przejdź do kolejnej iteracji bez wykonywania treści pętli). Przyjrzyjmy się bliżej każdemu z cykli.

dla pętli

Składnia pętli for jest następująca.

For(inicjalizacja; warunek; polecenia_po_itacji) (loop_body; )

Blok inicjujący zawsze inicjuje licznik, a także inne zmienne (jeśli to konieczne). Blok warunków określa, w którym momencie pętla powinna przestać działać. W bloku poleceń wykonywanych po każdej iteracji pętli zwykle zmienia się wartość licznika, a także inne zmienne (jeśli to konieczne).

// Tablica wartości $array = array("Jabłko", "Ziemniak", "Arbuz", "Kwiat", "Woda", "Merkury", "Tlen", "Pszenica", "Rosja", "Moskwa „, „ Prysznic”); // Warunek pętli brzmi następująco: dopóki licznik nie osiągnie wartości równej // liczbie elementów tablicy, wykonywany jest korpus pętli for($i = 0; $i< count($array); $i++) { print "
„.($i + 1)”. ".$array[$i].."; ) /* Wynik cyklu będzie następujący: 1. Jabłko. 2. Ziemniak. 3. Arbuz. 4. Kwiat. 5. Woda. 6. Rtęć. 7 Tlen 8. Pszenica 9. Rosja 10. Moskwa 11. Deszcz */

Ponieważ licznik $i zaczynał od zera, przy każdej iteracji dodaliśmy jeden do jego wartości, aby lista wyglądała bardziej znajomo. Po każdej iteracji wartość licznika była zwiększana o jeden, a gdy osiągnęła 11, pętla zatrzymywała się. Przyjrzyjmy się teraz pętli do-while.

pętla do-while

Pętla do-while różni się tym, że działa na warunku końcowym. Oznacza to, że kod zawarty w ciele pętli zostanie wykonany przynajmniej raz. Składnia pętli jest następująca:

Wykonaj (loop_body; ) while(warunek);

Pętla ta jest używana dość rzadko w programowaniu internetowym, ale możesz jej potrzebować w swoich skryptach.

// Tablica już nam znana $array = array("Jabłko", "Ziemniak", "Arbuz", "Kwiat", "Woda", "Merkury", "Tlen", "Pszenica", "Rosja", "Moskwa „, „Deszcz”); // Rozpocznij pętlę $i = 1; zrób (drukuj)
„.$i.” ".$array[($i - 1)]."; ) while($i++< count($array)); /* Результат работы цикла будет таким: 1. Яблоко. 2. Картошка. 3. Арбуз. 4. Цветок. 5. Вода. 6. Ртуть. 7. Кислород. 8. Пшеница. 9. Россия. 10. Москва. 11. Ливень. */

Zwróć uwagę na różnicę między tym, co wypiszemy w tej pętli, a tym, co wyświetlimy w pętli for. Ponieważ kod w treści pętli do-while jest wykonywany co najmniej raz, początkowa wartość licznika została ustawiona na zero. Jak działa pętla... wykonywany jest kod, a następnie sprawdzany jest warunek. W pierwszej iteracji licznik miał wartość 1. Po iteracji jeden okazał się mniejszy niż 11 (liczba elementów). W ostatniej iteracji licznik miał wartość 11, a to w żadnym wypadku nie jest mniejsza niż 11. Pętla została zatrzymana. Pętla while jest bardzo podobna do pętli do-while.

pętla while

Pętla while jest warunkiem wstępnym. Zostanie wykonany tylko wtedy, gdy jego warunek jest prawdziwy. Oznacza to, że pętla while może w ogóle nie zostać wykonana. Jego składnia jest następująca:

Podczas gdy(warunek) (loop_body; )

Oprócz pętli for bardzo często używana jest pętla while.

$array = array("Jabłko", "Ziemniak", "Arbuz", "Kwiat", "Woda", "Rtęć", "Tlen", "Pszenica", "Rosja", "Moskwa", "Deszcz"); $i = 1; podczas($i++<= count($array)) { print "
„.$i.” ".$array[($i - 1)].."; ) /* Wynik pętli będzie następujący: 1. Jabłko. 2. Ziemniak. 3. Arbuz. 4. Kwiat. 5. Woda. 6. Rtęć 7. Tlen 8. Pszenica 9. Rosja 10. Moskwa 11. Deszcz */

Pętla while jest najprostszą i najbardziej zrozumiałą dla początkujących programistów.

pętla foreach

Pętla foreach nie jest taka jak wszystkie powyższe. Pojawił się w PHP4 i jest przeznaczony do iteracji po tablicach. Deweloper nie musi w tym celu niczego wymyślać. Wszystko jest łatwe i proste:

/** * Pętlę foreach należy rozumieć jako „dla każdego z”. * Tablica przetwarzana przez pętlę jest przekazywana do zmiennej, która * jest dostępna tylko w treści pętli. Jeśli chcesz, możesz także uzyskać dostęp do * kluczy tablicowych. */ foreach(tablica jako element_tablicy) (loop_body; ) foreach(tablica jako klucz_tablicy => element_tablicy) (loop_body; )

Zasada działania pętli foreach jest zupełnie inna niż w przypadku pętli for, while i do-while. Dlatego niedoświadczonym programistom dość trudno jest zrozumieć, co dokładnie można (a nawet należy) z nim zrobić.

// Zmieńmy tablicę, którą już znamy. Zróbmy to skojarzeniowo. $array = array("Jabłko" => "owoc", "Ziemniak" => "warzywa", "Arbuz" => "jagoda", "Kwiat" => "roślina", "Woda" => "płyn", „Rtęć” => „metal”, „Tlen” => „gaz”, „Pszenica” => „chleb”, „Rosja” => „nasza Ojczyzna”, „Moskwa” => „stolica naszej Ojczyzny”, „Deszcz” => „popados”); $i = 1; // Możemy to zrobić foreach($array as $v) ( print "
„.$i.” ".$v."."; $i++; ) /* Otrzymujemy nieoczekiwany wynik: 1. owoc. 2. warzywo. 3. jagoda. 4. roślina. 5. ciecz. 6. metal. 7. gaz. 8 .chleb. 9. nasza Ojczyzna 10. stolica naszej Ojczyzny 11. popados. */ // Teraz zróbmy to inaczej foreach($array as $k => $v) ( print "
„.$i.” „.$k.” to ".$v."; $i++; ) /* Teraz wynik będzie następujący 1. Jabłko to owoc. 2. Ziemniak to warzywo. 3. Arbuz to jagoda. 4. Kwiat to roślina 5. Woda to ciecz 6. Rtęć to metal 7. Tlen to gaz 8. Pszenica to chleb 9. Rosja to nasza Ojczyzna 10. Moskwa to stolica naszej Ojczyzny 11. Deszcz jest hitem. .*/

Czy rozumiesz, jak działa ten cykl? Jeśli nie, możesz zadać pytanie w komentarzach do materiału.

Możesz używać konstrukcji w dowolnej pętli przerwa Lub Kontynuować. Czasami nie ma sensu kontynuować pętli lub trzeba przejść do następnej iteracji.

$array = array("Jabłko" => "owoc", "Ziemniak" => "warzywa", "Arbuz" => "jagoda", "Kwiat" => "roślina", "Woda" => "płyn", „Rtęć” => „metal”, „Tlen” => „gaz”, „Pszenica” => „chleb”, „Rosja” => „nasza Ojczyzna”, „Moskwa” => „stolica naszej Ojczyzny”, „Deszcz” => „popados”); $i = 1; // Przykład działania pętli z konstrukcjącontinue foreach($array as $k => $v) ( if($k != "Tlen") kontynuuj; drukuj "
„.$i.” „.$k.” to ".$v."; $i++; ) /* Wynik będzie następujący 1. Tlen jest gazem. */ $i = 1; // Przykład działania pętli z przerwą konstrukcyjną foreach($ tablica jako $k = > $v) ( if($k == "Tlen") przerwa; drukuj "
„.$i.” „.$k.” to ".$v."; $i++; ) /* Wynikiem będzie 1. Jabłko to owoc. 2. Ziemniak to warzywo. 3. Arbuz to jagoda. 4. Kwiat to roślina. 5. Woda jest cieczą 6. Rtęć jest metalem */

Notatka: Aktywowana jest adaptacyjna wersja witryny, która automatycznie dostosowuje się do małego rozmiaru Twojej przeglądarki i ukrywa niektóre szczegóły witryny, aby ułatwić czytanie. Miłego oglądania!

Witajcie drodzy czytelnicy i stali subskrybenci! Czas na kontynuację serii artykułów o PHP i dziś zajmiemy się tak podstawową i zarazem bardzo ważną rzeczą jaką są pętle. Jaka jest pierwsza rzecz, którą musisz wiedzieć o cyklach? A fakt, że są one używane wszędzie, a szablony dla Joomla, VirtueMart, Wordpress, OpenCart i innych CMS-ów nie są wyjątkiem.

Co to jest cykl? Cykl to wielokrotne powtórzenie tego samego fragmentu kodu. To, ile powtórzeń należy wykonać, zależy od licznika cykli, który sami tworzymy i którym możemy sterować. Jest to bardzo wygodne, gdy np. potrzebujemy wyświetlić produkty w kategorii sklepu internetowego, wyświetlić wpisy na blogu, wyświetlić komentarze do artykułu lub produktu; wszystkie menu w CMS-ach (silnikach stron internetowych) również są tworzone przy użyciu cykli. Ogólnie rzecz biorąc, pętle są używane bardzo często.

Ale zanim przejdziesz do samych pętli, najpierw musisz zrozumieć coś takiego jak operatory przyrost I ubytek.

Operator ++ (zwiększanie) zwiększa wartość zmiennej o jeden, natomiast operator -- (zmniejszania) zmniejsza wartość zmiennej o jeden. Są bardzo wygodne w użyciu w pętlach jako liczniki i ogólnie w programowaniu. Istnieją również inkrementacja/zmniejszenie PRE i inkrementacja/zmniejszenie POST:

PRE inkrementacja/zmniejszenie ++$a Zwiększa $a o jeden i zwraca wartość $a. --$a Zmniejsza wartość $a o jeden i zwraca wartość $a. Zwiększanie/zmniejszanie POST $a++ Zwraca wartość $a, a następnie zwiększa $a o jeden. $a-- Zwraca wartość $a, a następnie zmniejsza $a o jeden.

Na przykład:

$a = 1; echo "Numer wyjściowy: " . $a++; // Wyprowadź liczbę: 1 echo "Wypisz liczbę: " . $a; // Wyprowadź liczbę: 2 echo "Wyprowadź liczbę: $a"; $a += 1; //tak samo jak w pierwszej linijce$a = 1; echo "Numer wyjściowy: " . +$a; // Wypisz liczbę: 2 echo "Wypisz liczbę: " . $a; // Wypisz liczbę: 2 $a += 1; echo "Numer wyjściowy: $a"; // to samo co w pierwszej linii tego bloku

dla pętli

for (część A; część B; część C)( // Dowolny kod, tyle linii, ile chcesz; )

Pętla for składa się z 3 części i samego ciała. Część A po prostu robi to, co mówi, zwykle w 90% przypadków tworzy licznik pętli. Część B- to jest z grubsza już nam znane Jeśli, czyli sprawdzenie prawdy (prawdy?). Jeśli warunek jest prawdziwy, tzn PRAWDA, następnie PHP wchodzi do pętli i kontynuuje jej wykonywanie. Część C- tak samo jak część A, z reguły w części C dokonujemy pewnego rodzaju transformacji za pomocą licznika. Na przykład:

"; ) echo "WYJŚCIŁEM Z PĘTLI i przeszedłem dalej przez kod..."; ?>

Teraz o algorytmie pętli for. Pierwszą rzeczą, którą widzi PHP, jest przejście do części A i wykonanie jej tylko raz (patrz obrazek poniżej). Następnie PHP przechodzi do części B i sprawdza, czy jest to prawda, czy fałsz. Jeżeli jest to prawda, to wykonuje ciało pętli i dopiero potem przechodzi do części C. Następnie PHP ponownie przechodzi do części B i sprawdza, czy nadal jest tam prawdą, czy nie. Jeśli nie, pętla się kończy, jeśli tak, to trwa, aż część B zawiera wartość false.

Wynik poprzedniego przykładu:

Podczas gdy Pętla

while (część B)( // Dowolny kod, tyle linii, ile chcesz; )

Jak widać nie ma części A i C, z pętli for pozostał tylko warunek, czyli część B. Jeżeli mamy skorzystać z licznika to musimy go umieścić w pętli while m.in. reszta kodu, to będzie część C. Licznik tworzenia jest potrzebny przed rozpoczęciem konstrukcji while:

Część A; while (część B)( // Dowolny kod, tyle wierszy, ile potrzeba; Część C; )

Przekształćmy poprzednią pętlę for w pętlę while:

"; $i++; ) echo "WYJŚĆ Z PĘTLI i kontynuować kod..."; ?>

Wynik będzie dokładnie taki sam. Czego użyć: pętla for czy while to kwestia gustu, zobacz co jest dla ciebie wygodniejsze i logiczne, nie ma różnicy.

Wykonaj... pętlę while

Mniej powszechne ze wszystkich typów cykli. Zasadniczo jest to odwrócony moment. Jego sztuczka polega na tym, że PHP na pewno wejdzie do treści pętli do... while przynajmniej raz (za pierwszym razem), ponieważ w tej pętli na końcu znajduje się warunek:

Część A; do( // Dowolny kod, tyle linii, ile chcesz; Część C; )while(Część B);

"; $i++; )podczas($i< 8); echo "ВЫШЛИ ИЗ ЦИКЛА и пошли дальше по коду..."; ?>

Ważne jest, aby zrozumieć: we wszystkich trzech typach cykli nie ma części obowiązkowych.

Przykład pętli for bez części A i części C:

For(;$i > 8;)( // Twój kod)

Przykład pętli for bez wszystkich trzech części:

For(;;)( // klasyczna pętla nieskończona)

Oznacza to, że wszystkie średniki nadal pozostają w pętli for, taka jest składnia!

Nieskończone pętle

Nieskończona pętla to błąd programisty, w wyniku którego strona nigdy nie będzie mogła zostać załadowana do końca, ponieważ warunek pętli (część B) zawsze będzie spełniony. Na przykład:

"; $i++; )while($i != 0); echo "WYJŚCIŁEM Z PĘTLI i przeszedłem dalej przez kod..."; ?>

Wynik:

Pokazałem tylko część, bo nie wszystko mieści się na ekranie. Tak Twoja przeglądarka i serwer Twojej witryny będą cierpieć bez końca, aż przeglądarka ulegnie awarii po 30 sekundach, a wszystko dlatego, że w powyższym przykładzie zmienna $i nigdy nie będzie równa zeru, początkowo jest równa 1 i jest stale wzrastający.

Oznacza to, że programista był nieuważny, gdy wymyślił taki warunek.

Zarządzanie cyklem

Przerwa operatora. Zdarzają się sytuacje, kiedy pętla nie jest nam potrzebna do rozegrania wszystkich iteracji (powtórzeń). Na przykład w pewnym momencie chcemy to przerwać i kontynuować wykonanie za pomocą poniższego kodu:

"; if ($i === 5) break; // wyjdź z pętli, jeśli $i jest równe 5 $i++; ) echo "Mogę liczyć tylko do 5:("; ?>

Wynik:

W powyższym przykładzie, gdy tylko osiągnęliśmy pięć, PHP opuściło pętlę, w przeciwnym razie liczyłoby do 7.

Kontynuuj operatora również przerywa wykonywanie pętli, ale w przeciwieństwie do break, kontynuuj nie opuszcza pętli, ale przywraca interpreter PHP z powrotem do warunku (do części B). Przykład:

"; ) echo "Czy coś przeoczyłem?"; ?>

Wynik:

Właśnie przegapiliśmy cyfrę 5, ponieważ PHP nie zdążyło wywołać echa.

Pętlę można zagnieżdżać w pętli. W tym przypadku instrukcjecontinue i break dotyczą tylko jednej pętli, czyli tej, w której się znajdują. Innymi słowy, przenoszą się na jeden poziom, a nie na wszystkie. Przykład:

Ale sami możemy wybrać, przez ile poziomów musimy przeskoczyć:

"; $i++; $i=1; $k=1; podczas gdy ($k< 8) { echo "Итерация $k номер ". $k . "
"; if ($k === 5) przerwa 2; $k++; ) ) ?>

Wynik:

Naturalnie nie możemy ustawić liczby większej niż liczba zagnieżdżonych pętli.

pętla foreach

Ostatnią w kolejności, ale najważniejszą, jest pętla foreach. Używany tylko do wyliczania i przedmiotów (jest za wcześnie, aby ich uczyć). Przykładowa składnia:

"; } ?>

Wynik:

Była to krótka konstrukcja foreach, ale ma też wersję rozszerzoną, która oprócz wartości komórek tablicy wyświetla także nazwy komórek (klucze):

$wartość) ( ​​echo "W sekcji " . $klucz . " jest artykuł pt.: „. $wartość.”
"; } ?>

Wynik:

Zwracam uwagę na fakt, że zmienne możemy nazywać jak chcemy, nawet $key i $value, nawet $xxx i $yyy.

Jeśli jest to tablica, wówczas używamy tylko pętli foreach i żadnych innych. To właśnie ten cykl jest używany w całym VirtueMart i rzeczywiście wszędzie.

Ostatnia aktualizacja: 11.11.2015

Do wykonywania powtarzalnych działań w PHP, podobnie jak w innych językach programowania, wykorzystywane są pętle. W PHP występują następujące typy pętli:

dla pętli

Pętla for ma następującą formalną definicję:

For ([inicjuj licznik]; [warunek]; [zmień licznik]) ( // akcje )

Rozważmy standard pętli for:

"; } ?>

Pierwsza część deklaracji pętli - $i = 1 - tworzy i inicjuje licznik - zmienną $i. Zanim pętla zostanie wykonana, jej wartość będzie wynosić 1. Zasadniczo jest to to samo, co deklaracja zmiennej.

Druga część to warunek, pod którym pętla zostanie wykonana. W tym przypadku pętla będzie działać, aż $i osiągnie 10.

Trzecia część polega na zwiększaniu licznika o jeden. Ponownie, niekoniecznie musimy zwiększać o jeden. Możesz zmniejszyć: $i--.

W rezultacie blok pętli wykona się 9 razy, aż wartość $i osiągnie 10. Za każdym razem wartość ta wzrośnie o 1. Każde pojedyncze powtórzenie pętli nazywa się iteracją. Zatem w tym przypadku będzie 9 iteracji.

pętla while

Pętla while sprawdza prawdziwość jakiegoś warunku i jeśli warunek jest prawdziwy, wykonywany jest blok wyrażeń pętlowych:

"; $licznik++; ) ?>

Jeśli w bloku while znajduje się tylko jedna instrukcja, wówczas nawiasy klamrowe w bloku można pominąć:

"; ?>

wykonaj pętlę while

Pętla do..while jest podobna do pętli while, z tym że teraz wykonywany jest blok pętli i dopiero wtedy sprawdzany jest warunek. Oznacza to, że nawet jeśli warunek jest fałszywy, blok pętli zostanie wykonany co najmniej raz:

"; $licznik++; ) while($licznik<10) ?>

Kontynuuj i przerwij instrukcje

Czasami pojawia się sytuacja, gdy trzeba wyjść z pętli, nie czekając na jej zakończenie. W takim przypadku możemy użyć instrukcji break:

80) ( break; ) echo "Kwadrat $i jest równy $wynik
"; } ?>

A jeśli nagle wynik operacji okaże się większy niż 80, wówczas pętla wychodzi.

Operator kontynuowania służy także do sterowania pętlami. Przechodzi do następnej iteracji pętli:

"; } ?>

Gdy podczas wykonywania programu wartość $i osiągnie wartość 5, nastąpi przejście do kolejnej iteracji, a wszystkie pozostałe wyrażenia następujące po operatorzekontynuuj nie zostaną wykonane.

Pętla for jest jedną z najczęściej używanych pętli w dowolnym języku programowania. W tym artykule przyjrzymy się bliżej pętli for w PHP.

Dla operatora pętli w PHP

Pętla for w PHP wykonuje blok kodu określoną liczbę razy na podstawie licznika. W tym przypadku liczba wykonań bloku kodu jest ustalana z wyprzedzeniem przed wejściem do treści pętli.

for jest jednym z najbardziej złożonych typów pętli. W PHP pętla for zachowuje się podobnie do C. Poniżej znajduje się struktura składni:

instrukcja for(wyrażenie1;wyrażenie2;wyrażenie3);

W powyższym opisie słowo kluczowe for oznacza pętlę. Nawiasy definiują wyrażenia, a następnie instrukcję do wykonania.

Jak działa pętla for w PHP?

Aby zrozumieć, jak działa pętla for, musimy zrozumieć te trzy wyrażenia. Wyrażenie: wyrażenie1 jest pierwszym, które jest wykonywane tylko raz przed wejściem do pętli. Odbywa się to bezwarunkowo. Oznacza to, że wyrażenie zostanie wykonane po raz pierwszy przed wejściem do pętli.

Wyrażenie1 nazywane jest wyrażeniem inicjującym, ponieważ służy do inicjowania licznika używanego w wyrażeniach2 i wyrażeniu3.

Wyrażenie2 ( sprawdzenie stanu) jest sprawdzane w celu ustalenia, czy warunek pozwala na wykonanie instrukcji, czy nie. Za pierwszym razem jest uruchamiane po wyrażeniu1, a następnie przed wejściem do pętli.

Zwykle wyrażenie2 zawiera instrukcję warunkową sprawdzającą, czy warunek zwraca wartość true, czy false. Jeżeli warunek zwróci wartość true, wówczas wykonana zostanie instrukcja zapisana w pętli.

Wyrażenie3 jest wykonywane na końcu każdej iteracji po instrukcji pętli. Zazwyczaj programiści nazywają to wyrażeniem inkrementacyjnym. Używają tego wyrażenia do zwiększania wartości licznika, który został zainicjowany w wyrażeniu1 i oceniony w wyrażeniu2.

Wszystkie trzy wyrażenia są opcjonalne. Możesz także utworzyć pętlę PHP, jak poniżej:

instrukcja for(;;);

instrukcja for(;wyrażenie2;wyrażenie3);

Jeśli mamy wiele linii w pętli for, użyj nawiasów klamrowych jak poniżej:

for(wyrażenie1;wyrażenie2;wyrażenie3)(wyrażenie1;wyrażenie2;wyrażenie3; )

Dla schematu blokowego pętli

W pierwszym kroku wykonywane jest wyrażenie1. Jeśli przyjrzysz się uważnie schematowi blokowemu, odkryjesz, że nie ma warunku dla wyrażenia 1. wyrażenie1 jest podobne do przebiegu wykonywanego programu.

Następny krok wykonuje wyrażenie2 bezpośrednio po wyrażeniu1. Sprawdza, czy warunek pętli jest prawdziwy. Jeśli warunek jest spełniony, pętla będzie się dalej wykonywać, w przeciwnym razie wątek opuści pętlę.

Jeśli wyrażenie2 zwróci wartość true, wówczas w trzecim kroku zostanie wykonana instrukcja zapisana w pętli for. Następnie zostanie wykonane trzecie wyrażenie wyrażenie3.

Po wykonaniu wyrażenia3 wątek ponownie sprawdza wyrażenie2 i pętla kontynuuje działanie, aż wyrażenie2 zwróci wartość false.

Prosty przykład pętli for w PHP

Rozważmy przypadek, w którym trzeba wyświetlić liczby od 1 do 10 oddzielone przecinkami. Poniżej znajduje się kod:

dla($i=1;$i<=10;$i++) print $i.",";

Lub z nawiasem klamrowym:

dla($i=1;$i<=10;$i++) { print $i.","; }

Wyrażenie $i=1 to wyrażenie1, które jest wykonywane bezwarunkowo. Używamy wyrażenia1 do inicjowania zmiennej na $i=1 .

Wyrażenie2 jest wyrażeniem $i:

$i=1; dla(;$i<=10;$i++) { print $i.","; }

$i=1; dla(;$i<=10;) { print $i.","; $i++; }

Złożone wyrażenie w pętli for

W pętli for można zapisać trzy wyrażenia. W każdym wyrażeniu w pętli for możemy zapisać wiele instrukcji. Operatory należy oddzielić przecinkami.

Spójrzmy na przykład poprzedniego kodu, aby wydrukować liczbę od 1 do 10. Używając wielu operatorów w wyrażeniu, możesz napisać poniższy kod:

dla($i=1; $i<=10; print $i . ",", $i++);

Tutaj wyrażenie3 to print $i.”,’, $i++ , które łączy w sobie dwa operatory, jeden to print $i. „,” a drugi to $ i++ .

Powyżej znajduje się przykład użycia wielu operatorów w wyrażeniu3. Ale w dowolnym wyrażeniu możesz także użyć wielu operatorów. Na przykład:

Podobnie możesz wydrukować wszystkie liczby nieparzyste mniejsze niż 10, używając następującego kodu:

Tablica i pętla for w PHP

Do iteracji po tablicy można użyć pętli for PHP. Na przykład mamy tablicę zawierającą imiona i nazwiska różnych osób. Musimy wyświetlić wszystkie nazwy:

$names = array("Ankur", "Jan", "Radość"); $liczba = liczba($nazwy); for($licznik=0;$licznik<$count;$counter++){ print $names[$counter]; }

Możesz także użyć tablicy wielowymiarowej w pętli for:

$names = array(array("id" => 1, "name" => "Ankur"), array("id" => 2, "name" => "Joe"), array("id" => 3, "imię" => "Jan"),); $liczba = liczba($nazwy); for ($licznik = 0; $licznik< $count; $counter++) { print "Name".$names[$counter]["name"]." ID".$names[$counter]["id"]."n"; }

Zagnieżdżona pętla for

W PHP można zastosować zagnieżdżoną pętlę for. Przykład:

$metrix = tablica(tablica(1, 2, 3), tablica(2, 1, 3), tablica(3, 2, 1),); $liczba = liczba($metryka); for ($licznik = 0; $licznik< $count; $counter++) { $c_count = count($metrix[$counter]); for ($child = 0; $child < $c_count; $child++) { echo $metrix[$counter][$child]; } }

Mamy tablicę wielowymiarową i używamy dwóch pętli PHP for do wyświetlenia wartości jej elementów.

Używając pętli zagnieżdżonej, możesz użyć wyrażenia nadrzędnego for w pętli podrzędnej. Na przykład:

dla ($i = 1; $i<= 5; $i++) { for ($j = 1; $j <= $i; $j++) { echo "*"; } echo "
"; }

Powyższy program jest jednym z najpopularniejszych pozwalających wydrukować symbol * w kształcie trójkąta prostokątnego.

Inkrementacja w pętli for

Prawie w każdym z powyższych przykładów użyliśmy wyrażenia3, które jest ostatnim wyrażeniem, jako instrukcji inkrementacji. Często zwiększaliśmy także wartość o jeden we wszystkich przykładach, na przykład $i++ lub $j++ i tak dalej. Ale możemy zwiększyć licznik zgodnie z naszymi wymaganiami. Na przykład, aby wydrukować wszystkie liczby nieparzyste od 1 do 15, możesz zainicjować pętlę wartością 1 i wykonać iterację przez 15, zwiększając licznik o 2:

for($licznik = 1; $licznik<=15;$counter=$counter+2){ print $counter.","; }

Wynikiem powyższego kodu będzie „ 1,3,5,7,9,11,13,15 " Tutaj zwiększamy zmienną licznika o +2, używając wyrażenia $counter=$counter+2 .

Wyjście z pętli for

Możesz przerwać pętlę pod pewnymi warunkami, używając słowa kluczowego break. Nie jest częścią pętli i służy do przerywania wykonywania instrukcji for , foreach , while , do-while i switch. Zobaczmy, jak słowo kluczowe break zatrzymuje pętlę for.

Prosty przykład, w którym drukujemy wszystkie liczby w tablicy do 100:

$seria = tablica(1, 8, 5, 3, 100, 9, 7); for ($i = 0, $liczba = liczba($seria); $i<= $count; $i++) { if (100 == $series[$i]) { break; } echo $series[$i] . " "; }

Tutaj przerywamy pętlę sprawdzając, czy wartość elementu tablicy jest równa 100.

Możesz także przerwać zagnieżdżoną pętlę PHP w tablicy, przekazując głębokość, na przykład break 1 , break 2 i tak dalej. Zobacz poniższy przykład:

for ($i = 0;; $i++) ( switch ($i) ( case 1: echo "To jest jeden"; break 1; //To spowoduje przerwanie tylko instrukcji switch case 2: echo "To jest dwa"; break 1 ; // To ponownie przerwie tylko instrukcję switch case 3: echo "To jest trzy "; break 2; // To spowoduje przerwanie zarówno przełącznika, jak i pętli for ) )

Tutaj przerwa 1 przerwie instrukcję switch, ale przerwa 2 złamie bieżącą instrukcję, a także instrukcję nadrzędną, tj. zarówno switch, jak i for .

Użycie kontynuuj w pętli for

W poprzedniej sekcji dowiedzieliśmy się, jak wyjść z pętli. Ale co, jeśli chcesz pominąć jedną iterację pętli i wrócić do pętli? PHP ma do tego słowo kluczowecontinue.

Przypomnijmy przykład wyprowadzania liczb nieparzystych. Jedyne, co zrobiliśmy, to rozpocząć pętlę od 1, zwiększyć licznik o 2 i wydrukować wynik. Zaimplementujmy ten przykład, używająccontinu :

dla ($i = 0; $i< 20; $i++) { if ($i % 2 == 0) { continue; } echo $i . ","; }

W powyższym przykładzie sprawdzamy wyrażenie $i%2 == 0 i jeśli jest prawdziwe, używając słowa kluczowegocontinu, pomijamy resztę pętli i wracamy do wyrażenia3 ($i++), a następnie do wyrażenia2 ($i:

Czasami trzeba przenieść dane z tabeli bazy danych do tablicy za pomocą PHP.

Pętli PHP foreach można użyć w następujący sposób:

foreach($nazwa_tablicy jako $wartość)( //kod do wykonania)

foreach($nazwa_tablicy jako $klucz =>$wartość)( // //kod, który powinien zostać wykonany)

Przykład użycia pętli foreach z tablicą numeryczną

W tym przykładzie utworzymy tablicę pięciu elementów z wartościami liczbowymi. Pętla PHP foreach zostanie następnie użyta do iteracji po tej tablicy. Wewnątrz pętli foreach użyliśmy echo do wydrukowania wartości tablicy:

Zobacz demo i kod

Przykład z kluczami tablicy i wartościami

Ten przykład opisuje inny sposób użycia pętli foreach PHP. W tym celu stworzyliśmy tablicę asocjacyjną składającą się z trzech elementów. Zawiera nazwiska pracowników ( jako klucze) i wysokość wynagrodzeń ( jako wartości):

Zobacz demo i kod

Przykład zmiany wartości elementu tablicy w pętli foreach

Możesz także użyć tablicy PHP foreach do zmiany wartości elementów tablicy. Odbywa się to poprzez użycie „&” przed „$” dla zmiennej wartości. Na przykład:

&$wartość_elementu

Wartość zostanie zmieniona. Aby było to jaśniejsze, rozważ następujący przykład.

W tym przykładzie utworzyliśmy tablicę numeryczną składającą się z pięciu elementów. Następnie użyliśmy pętli foreach do wyświetlenia wartości elementów.

Następnie utworzyliśmy kolejną pętlę foreach, w której „&” jest dodawane przed $value_of_element. Wewnątrz nawiasów klamrowych przypisujemy nowe wartości elementom tablicy.

Aby zobaczyć różnicę przed i po przypisaniu nowych wartości, tablicę wyświetla się za pomocą funkcji print_r().

Zobacz demo i kod

Do czego służy pętla foreach PHP?

Pętla PHP foreach służy do pracy z tablicą. Iteruje po każdym ze swoich elementów.

Do pracy z tablicami można także użyć pętli for. Na przykład użycie właściwości długości w celu uzyskania długości tablicy, a następnie zastosowanie jej jako operatora max. Ale foreach ułatwia to, ponieważ jest przeznaczony do pracy z tablicami.

Jeśli pracujesz z MySQL, ten cykl jest do tego jeszcze bardziej odpowiedni. Można na przykład wybrać kilka wierszy z tabeli bazy danych i przekazać je do tablicy. Następnie za pomocą pętli foreach wykonaj iterację po wszystkich elementach tablicy i wykonaj jakąś akcję.

Pamiętaj, że możesz użyć pętli foreach z tablicą lub po prostu obiektem.

Korzystanie z pętli foreach

Istnieją dwa sposoby użycia pętli PHP foreach w PHP. Obydwa opisano poniżej.

  • Składnia pierwszej metody jest następująca:

foreach($nazwa_tablicy jako $wartość)( echo $wartość)

W takim przypadku należy podać nazwę tablicy, a następnie zmienną $value.

Dla każdej iteracji wartość bieżącego elementu jest przypisana do zmiennej $value. Po zakończeniu iteracji zmiennej zostaje przypisana wartość kolejnego elementu. I tak dalej, aż do iteracji wszystkich elementów tablicy.

  • Składnia drugiej metody ( PHP foreach jako wartość klucza):

Jest to odpowiednie w przypadku tablic asocjacyjnych, które używają par klucz/wartość.

Podczas każdej iteracji wartość bieżącego elementu zostanie przypisana do zmiennej $value_of_element. Dodatkowo klucz elementu jest przypisany do zmiennej $key_of_element.

Jeśli pracujesz z tablicami numerycznymi, możesz użyć pierwszej metody, która nie wymaga kluczy elementów.

Niniejsza publikacja jest tłumaczeniem artykułu „ Pętla PHP foreach 2 sposoby jej użycia”, przygotowany przez zaprzyjaźniony zespół projektowy