Pętle a rekurencja
Założenie: Porównamy pętle i rekurencję w PHP, pokazując ich zastosowanie i wskazując, kiedy która metoda jest bardziej odpowiednia.
Krok po kroku:
- Pętle: Pętle są iteracyjnymi konstrukcjami, które powtarzają blok kodu, dopóki warunek logiczny jest spełniony. Przykład pętli `for`:
- Rekurencja: Rekurencja to technika, w której funkcja wywołuje samą siebie. Musi zawierać warunek stopu, aby uniknąć nieskończonej pętli. Przykład funkcji rekurencyjnej obliczającej silnię:
- Porównanie: Pętle są zazwyczaj bardziej wydajne dla prostych iteracji. Rekurencja jest bardziej czytelna i elegancka w przypadku problemów, które można naturalnie przedstawić rekurencyjnie (np. przechodzenie po drzewie). Jednakże, głęboka rekurencja może prowadzić do przekroczenia limitu stosu.
for ($i = 0; $i < 5; $i++) {
echo "Iteracja: " . $i . "
";
}
Ten kod wyświetli pięć iteracji pętli, od 0 do 4.
function silnia($n) {
if ($n == 0) {
return 1;
} else {
return $n * silnia($n - 1);
}
}
echo silnia(5); // Wyświetli 120
Funkcja `silnia` wywołuje samą siebie, aż do osiągnięcia warunku stopu (`$n == 0`).
Ten przykład pokazuje podstawowe różnice między pętlami a rekurencją w PHP. Zachęcamy do dalszego zgłębiania tych tematów, aby lepiej zrozumieć ich zastosowanie w praktyce.