Za darmo na e-mailPraktyczny kurs PHP (aż 200 stron!)

Krok po kroku, opanuj podstawy PHP za darmo - praktyczny kurs w formie e-booka prosto na Twój e-mail

Funkcje rekurencyjne

Funkcje rekurencyjne

Ostatnim razem napisaliśmy funkcję obliczającą silnię. Teraz zobaczymy, jak wykonać to zadanie za pomocą funkcji rekurencyjnej. Funkcją rekurencyjną nazywamy funkcję odwołującą się do siebie samej. Przykład powinien nieco rozjaśnić wątpliwości.

Zobaczmy listing:

<?php

function silnia($liczba)
{
   if($liczba < 2) 
      return 1;
   else
      return $liczba*silnia($liczba-1);  
}

echo silnia(5);

?>

Przeanalizujmy działanie kodu. Jeżeli liczba jest mniejsza od 2, czyli 0 lub 1, zwrócona zostanie wartość 1 (z definicji funkcji). Jeśli natomiast liczba jest większa, wywołujemy funkcję ponownie z argumentem pomniejszonym o 1. Wynika to z faktu, że 4! = 4 * 3!. Robimy tak dopóki nie zejdziemy do jedynki.

Plusy i minusy stosowania funkcji rekurencyjnych

Podstawową zaletą funkcji rekurencyjnych jest prostota kodu. Na funkcji obliczającej silnię nie widać tego tak znacząco, lecz pisząc bardziej rozbudowane konstrukcje, jest to zauważalne. Programiści jednak odchodzą od stosowania funkcji rekurencyjnych z racji dużej ilości pamięci, zajmowanej podczas kolejnych wywołań. Można sobie to łatwo zobrazować.

Licząc silnię z dziesięciu, musimy wywołać funkcję dziesięć razy (z argumentem: 10, 9, 8 itd.). Dodatkowo system musi zapamiętać wynik zwracany przez każdą z funkcji. Z tego powodu bardzo zachęcam do stosowania klasycznych funkcji. Na pewno usprawni to działanie strony

Następna lekcja poświęcona jest tablicom. Są to kontenery przechowujące wiele wartości, do których odwołujemy się za pomocą indeksu. Zapraszam.

Check out functions in PHP in English on abcphp.net.

Spis lekcji w rozdziale trzecim

Poprzednia lekcja: Funkcje kompleksowoNastępna lekcja: Tablice

Dodaj komentarz

Ominiesz taką okazję?Praktyczny Kurs PHP (aż 200 stron!) za darmo

Gorąco polecam, naprawdę warto skorzystać! To nic nie kosztuje. Krok po kroku, opanuj podstawy PHP za darmo - praktyczny kurs w formie e-booka prosto na Twój e-mail.

Jeszcze nie jest za późnoPobierz Kurs PHP (aż 200 stron!) zupełnie za darmo!

Jeśli miałbyś wziąć tylko jedną rzecz z tej wizyty, zabierz właśnie ten darmowy kurs PHP. Praktyczny kurs w formie e-booka prosto na Twój e-mail.