Pętle for i while
Powtarzanie kodu za pomocą pętli for, while i do-while.
Pętle for i while to bezpłatna lekcja PHP Academy na CoddyKit. To lekcja 3 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.
Dlaczego pętle?
Pętle pozwalają powtarzać blok kodu bez kopiowania go. PHP udostępnia cztery konstrukcje pętli:
for— znana liczba iteracjiwhile— sterowanie warunkiemdo-while— wykonuje się co najmniej razforeach— iteruje po tablicach/obiektach (następna lekcja)
Pętla for
Pętla for składa się z trzech części: inicjalizacji, warunku i inkrementacji:
<?php
for ($i = 0; $i < 5; $i++) {
echo $i . ' ';
}
// Output: 0 1 2 3 4Odliczanie w pętli for
Można odliczać w dół albo zmieniać wartość o dowolny krok:
<?php
// Count down
for ($i = 10; $i >= 1; $i--) {
echo $i . ' ';
}
// Step by 2
for ($i = 0; $i <= 10; $i += 2) {
echo $i . ' '; // 0 2 4 6 8 10
}Pętla while
Pętla while wykonuje się, dopóki jej warunek jest prawdziwy — warunek jest sprawdzany przed każdą iteracją:
<?php
$n = 1;
while ($n <= 5) {
echo $n . ' ';
$n++;
}
// Output: 1 2 3 4 5Pętla do-while
Pętla do-while zawsze wykona treść co najmniej raz — warunek jest sprawdzany po jej wykonaniu:
<?php
$attempt = 0;
do {
echo 'Trying... attempt ' . ($attempt + 1) . PHP_EOL;
$attempt++;
} while ($attempt < 3 && !connectToServer());
function connectToServer(): bool { return false; }Pętla nieskończona i break
Pętla nieskończona wykonuje się bez końca, chyba że zostanie przerwana za pomocą break:
<?php
$count = 0;
while (true) {
$count++;
if ($count >= 5) {
break; // exit loop
}
}
echo $count; // 5continue — pomijanie iteracji
continue pomija resztę bieżącej iteracji i przechodzi do następnej:
<?php
for ($i = 1; $i <= 10; $i++) {
if ($i % 2 === 0) {
continue; // skip even numbers
}
echo $i . ' '; // 1 3 5 7 9
}Pętle zagnieżdżone
Pętle można zagnieżdżać — jest to przydatne w przypadku danych dwuwymiarowych, takich jak siatki lub tabele:
<?php
for ($row = 1; $row <= 3; $row++) {
for ($col = 1; $col <= 3; $col++) {
echo "($row,$col) ";
}
echo PHP_EOL;
}
// (1,1) (1,2) (1,3)
// (2,1) (2,2) (2,3)
// (3,1) (3,2) (3,3)Przerywanie zagnieżdżonych pętli
Użyj break 2 (lub dowolnej innej liczby), aby jednocześnie wyjść z wielu poziomów pętli:
<?php
for ($i = 0; $i < 5; $i++) {
for ($j = 0; $j < 5; $j++) {
if ($i === 2 && $j === 2) {
break 2; // exits both loops
}
echo "$i,$j ";
}
}Wskazówki dotyczące wydajności pętli
Unikaj kosztownych operacji w warunkach pętli:
<?php
// Bad: count() called on every iteration
for ($i = 0; $i < count($arr); $i++) { /* ... */ }
// Good: calculate once
$len = count($arr);
for ($i = 0; $i < $len; $i++) { /* ... */ }
// Also fine: foreach avoids this entirely
foreach ($arr as $item) { /* ... */ }Alternatywna składnia pętli
Podobnie jak if, pętle obsługują alternatywną składnię z dwukropkiem do osadzania ich w kodzie HTML:
<?php $items = ['apple', 'banana', 'cherry']; ?>
<ul>
<?php for ($i = 0; $i < count($items); $i++): ?>
<li><?= htmlspecialchars($items[$i]) ?></li>
<?php endfor; ?>
</ul>Szybkie sprawdzenie
Która pętla gwarantuje wykonanie swojej treści co najmniej raz?
Podsumowanie: pętle for i while
Podsumowanie pętli:
for— najlepsza, gdy liczba iteracji jest znanawhile— warunek jest sprawdzany przed każdą iteracjądo-while— treść wykonuje się co najmniej razbreakkończy pętlę, abreak Nkończy N poziomów zagnieżdżeniacontinueprzechodzi do następnej iteracji
Dalej: foreach do iterowania po tablicach.
Często zadawane pytania
Czy lekcja „Pętle for i while” jest bezpłatna?
Tak — pełny tekst „Pętle for i while” 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 „Pętle for i while”?
Powtarzanie kodu za pomocą pętli for, while i do-while. Ć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 3 z 4.
Ile czasu zajmuje lekcja „Pętle for i while”?
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
- if, elseif i else
- Instrukcje switch i match
- Pętle for i while
- foreach i sterowanie pętlą