Pętle są kluczowe w programowaniu, umożliwiając powtarzanie czynności w kodzie. W JavaScript, C++ i PHP możemy spotkać różne konstrukcje pętli, jak for, while, do-while oraz foreach, które pozwalają automatyzować zadania. Dzięki nim możemy łatwo operować na zbiorach danych i uprościć procesy w programach. Celem tego artykułu jest szybkie wprowadzenie do pętli, by w praktyce były łatwiejsze do zaimplementowania.
SPIS TREŚCI
Jak działają popularne pętle
Pętla for
Pętla for ma trzy argumenty oddzielone średnikami ;
for (pierwszy argument; drugi; trzeci) { // ciało pętli }
Pierwszy argument (inicjalizacja): Służy do ustawienia początkowych wartości zmiennych, które będą sterować przebiegiem pętli. Wykonywany jest jednorazowo przed rozpoczęciem pętli.
Drugi argument (warunek): Określa warunek, który musi być spełniony, aby pętla kontynuowała działanie. Przed każdą iteracją sprawdzany jest ten warunek. Jeśli jest prawdziwy, wykonywane jest ciało pętli; w przeciwnym razie pętla zostaje zakoń
Trzeci argument (modyfikacja): Służy do aktualizacji zmiennych sterujących (np. inkrementacja lub dekrementacja) po każdej iteracji. Wykonywany jest po wykonaniu ciała pętli, przed kolejnym sprawdzeniem warunku.
Pętla while
Pętla while wykonuje ciało pętli dopóki warunek jest spełniony. Warunek jest sprawdzany przed każdą iteracją, co oznacza, że jeśli już na początku jest fałszywy, ciało pętli nie zostanie wykonane ani razu.
while (warunek) { // ciało pętli }
Jeśli warunek przestanie być spełniony w trakcie wykonywania pętli, wykonywanie zostanie przerwane i program przejdzie do kolejnych instrukcji.
Pętla do...while
Pętla do...while gwarantuje wykonanie ciała pętli przynajmniej jeden raz, ponieważ warunek jest sprawdzany po wykonaniu kodu.
do { // ciało pętli } while (warunek);
Nawet jeśli warunek jest fałszywy już od początku, ciało pętli zostanie wykonane przynajmniej raz, a następnie, przy niespełnieniu warunku, pętla się zakończy.
Pętla foreach
Pętla foreach służy do iteracji po elementach tablicy (lub obiektu implementującego interfejs Traversable). Ułatwia przeglądanie elementów bez konieczności zarządzania indeksem.
Przykład (dla wartości)foreach ($tablica as $wartosc) { // ciało pętli }
Przykład (dla kluczy i wartości) foreach ($tablica as $klucz => $wartosc) { // ciało pętli }
Pętla ta pozwala na łatwy dostęp do poszczególnych elementów tablicy, co czyni ją idealną do przeglądania struktur danych, gdzie ważne są zarówno klucze, jak i odpowiadające im wartości.
Pętle w JavaScript
JavaScript: Pętla for
Przykładfor (let i = 0; i < 10; i++) { // ciało pętli }
OpisPętla for w JavaScript jest używana, gdy znana jest liczba iteracji. Składa się z części inicjalizacji, warunku oraz modyfikatora, które sterują przebiegiem pętli.
JavaScript: Pętla while
Przykładwhile (warunek) { // ciało pętli }
OpisPętla while wykonuje kod dopóki warunek jest spełniony. Warunek jest sprawdzany przed każdą iteracją, co oznacza, że jeśli od początku jest fałszywy, pętla nie wykona się ani razu.
JavaScript: Pętla do...while
Przykładdo { // ciało pętli } while (warunek);
OpisPętla do...while gwarantuje wykonanie ciała pętli przynajmniej jeden raz, gdyż warunek jest sprawdzany po wykonaniu kodu.
JavaScript: Pętla for...in
Przykładfor (let key in obiekt) { // ciało pętli }
OpisPętla for...in iteruje po wszystkich enumerowalnych właściwościach obiektu. Należy jednak zachować ostrożność przy iterowaniu po tablicach, ponieważ może iterować także po właściwościach dziedziczonych.
JavaScript: Pętla for...of
Przykładfor (let value of iterable) { // ciało pętli }
OpisPętla for...of (wprowadzona w ES6) jest przeznaczona do iteracji po elementach iterowalnych obiektów, takich jak tablice, ciągi znaków, mapy czy zbiory.
Pętle w C++
C++: Pętla for
Przykładfor (int i = 0; i < 10; i++) { // ciało pętli }
OpisPętla for w C++ składa się z części inicjalizacji, warunku oraz modyfikatora. Jest idealna, gdy znamy liczbę iteracji. Każdy z tych elementów może być pominięty, jednak zazwyczaj wykorzystuje się je wszystkie dla przejrzystości kodu.
C++: Pętla while
Przykładwhile (warunek) { // ciało pętli }
OpisPętla while wykonuje kod dopóki warunek jest spełniony. Warunek jest sprawdzany przed każdą iteracją, więc jeśli jest fałszywy od początku, pętla nie wykona żadnej iteracji.
C++: Pętla do...while
Przykładdo { // ciało pętli } while (warunek);
OpisPętla do...while gwarantuje wykonanie ciała pętli przynajmniej raz, ponieważ warunek jest oceniany po wykonaniu bloku kodu.
C++: Pętla zasięgowa (range-based for)
Przykładfor (auto element : kontener) { // ciało pętli }
OpisPętla zasięgowa, wprowadzona w C++11, umożliwia łatwą iterację po elementach kontenera bez potrzeby korzystania z iteratorów czy indeksów, co znacząco poprawia czytelność kodu.
Pętle w PHP
Pętla for
Przykładfor ($i = 0; $i < 10; $i++) {
// ciało pętli
}
OpisPętla for jest używana, gdy znana jest liczba iteracji. Składa się z trzech części: inicjalizacji (np. ustawienie zmiennej licznikowej), warunku (określającego, kiedy zakończyć pętlę) oraz modyfikatora (np. inkrementacja lub dekrementacja zmiennej licznikowej). Każdy z tych elementów jest opcjonalny, ale zazwyczaj używa się ich wszystkich dla czytelności.
Pętla while
Przykładwhile ($warunek) {
// ciało pętli
}
OpisPętla while wykonuje się tak długo, jak długo warunek pozostaje prawdziwy. Warunek jest sprawdzany przed wykonaniem ciała pętli, co oznacza, że pętla może się nie wykonać ani razu, jeśli warunek od początku jest fałszywy.
Pętla do while
Przykładdo {
// ciało pętli
} while ($warunek);
OpisPętla do...while działa podobnie do pętli while, z tą różnicą, że warunek jest sprawdzany po wykonaniu ciała pętli. Dzięki temu ciało pętli zostanie wykonane przynajmniej jeden raz, nawet jeśli warunek jest fałszywy od samego początku
Pętla do foreach
Składnia (dla wartości)foreach ($tablica as $wartosc) {
// ciało pętli
}
Składnia (dla kluczy i wartości)foreach ($tablica as $klucz => $wartosc) {
// ciało pętli
}
OpisPętla foreach jest przeznaczona do iteracji po tablicach (oraz obiektach implementujących interfejs Traversable). Ułatwia przeglądanie elementów bez konieczności zarządzania indeksem. Można łatwo uzyskać zarówno klucz, jak i wartość elementu.