0Pricing
PHP Academy · Lekcja

foreach i sterowanie pętlą

Iterowanie po tablicach za pomocą foreach oraz używanie break i continue.

foreach i sterowanie pętlą to bezpłatna lekcja PHP Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej PHP Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs PHP Academy zawiera 4 lekcji w sumie.

foreach: pętla po tablicy

foreach to idiomatyczny sposób iterowania po tablicach i obiektach w PHP — nie trzeba ręcznie śledzić indeksu.

foreach na tablicach indeksowanych

Iteruj po wartościach w tablicy indeksowanej:

<?php
$fruits = ['apple', 'banana', 'cherry'];

foreach ($fruits as $fruit) {
    echo $fruit . PHP_EOL;
}
// apple
// banana
// cherry

foreach z kluczem => wartością

Pobieraj klucz i wartość podczas każdej iteracji:

<?php
$person = ['name' => 'Alice', 'age' => 30, 'city' => 'London'];

foreach ($person as $key => $value) {
    echo "$key: $value" . PHP_EOL;
}
// name: Alice
// age: 30
// city: London

Zagnieżdżone foreach

Iteruj po tablicach tablic (np. zestawach wyników z bazy danych):

<?php
$users = [
    ['name' => 'Alice', 'role' => 'admin'],
    ['name' => 'Bob',   'role' => 'user'],
];

foreach ($users as $user) {
    echo $user['name'] . ' is ' . $user['role'] . PHP_EOL;
}

Modyfikowanie elementów tablicy

Aby modyfikować wartości tablicy wewnątrz foreach, użyj referencji &$value:

<?php
$prices = [10, 20, 30];

foreach ($prices as &$price) {
    $price *= 1.1;  // 10% price increase
}
unset($price);  // always unset after reference loop!

print_r($prices); // [11, 22, 33]

break w foreach

Użyj break, aby wcześniej zakończyć pętlę foreach:

<?php
$ids = [1, 2, 3, 4, 5];
$target = 3;

foreach ($ids as $id) {
    if ($id === $target) {
        echo 'Found: ' . $id;
        break;
    }
}

continue w foreach

Użyj continue, aby pomijać wybrane elementy:

<?php
$numbers = [1, 2, 3, 4, 5, 6];

foreach ($numbers as $n) {
    if ($n % 2 === 0) continue;  // skip evens
    echo $n . ' ';  // 1 3 5
}

list() z foreach

Rozpakowuj wewnętrzne tablice bezpośrednio za pomocą list() lub skróconego zapisu []:

<?php
$coords = [[10, 20], [30, 40], [50, 60]];

foreach ($coords as [$x, $y]) {
    echo "x=$x, y=$y" . PHP_EOL;
}
// x=10, y=20
// x=30, y=40

Iterowanie po obiektach

foreach działa na obiektach — domyślnie iteruje po ich publicznych właściwościach:

<?php
class Config {
    public string $host = 'localhost';
    public int    $port = 3306;
    public string $db   = 'myapp';
}

foreach (new Config() as $key => $val) {
    echo "$key = $val" . PHP_EOL;
}

Generator jako cel foreach

Generatory PHP pozwalają iterować po dużych zbiorach danych bez ładowania całości do pamięci:

<?php
function range100(): Generator {
    for ($i = 1; $i <= 100; $i++) {
        yield $i;
    }
}

foreach (range100() as $num) {
    if ($num > 5) break;
    echo $num . ' ';  // 1 2 3 4 5
}

array_walk a foreach

array_walk stosuje funkcję callback do każdego elementu bezpośrednio — jest alternatywą dla foreach w przypadku prostych transformacji:

<?php
$names = ['alice', 'bob', 'carol'];

array_walk($names, function (&$name) {
    $name = ucfirst($name);
});

print_r($names); // ['Alice', 'Bob', 'Carol']

Szybkie sprawdzenie

Co należy zrobić po zakończeniu iterowania przez referencję w pętli foreach?

Podsumowanie: foreach i sterowanie pętlą

Najważniejsze informacje:

  • foreach ($arr as $val) służy do iterowania po wartościach
  • foreach ($arr as $key => $val) służy do iterowania po parach klucz-wartość
  • Użyj referencji &$val, aby modyfikować wartości bezpośrednio — zawsze ją usuń po zakończeniu pętli
  • break i continue działają wewnątrz foreach
  • Rozpakowuj wewnętrzne tablice za pomocą [$a, $b]
  • Generatory pozwalają pętli foreach przetwarzać ogromne zbiory danych przy niewielkim zużyciu pamięci

Często zadawane pytania

Czy lekcja „foreach i sterowanie pętlą” jest bezpłatna?

Tak — pełny tekst „foreach i sterowanie pętlą” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu PHP Academy, przejdź na CoddyKit PRO. Kurs PHP Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „foreach i sterowanie pętlą”?

Iterowanie po tablicach za pomocą foreach oraz używanie break i continue. Ćwiczysz PHP Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć PHP Academy?

Nie wymagamy żadnego doświadczenia. PHP Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „foreach i sterowanie pętlą”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji PHP Academy?

Tak. Każda lekcja PHP Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. if, elseif i else
  2. Instrukcje switch i match
  3. Pętle for i while
  4. foreach i sterowanie pętlą
← Powrót do PHP Academy