Funkcje anonimowe i rekurencja
Założenie: Zrozumieć i zaimplementować rekurencję w funkcjach anonimowych w PHP.
Krok po kroku:
- Definicja funkcji anonimowej z rekurencją: Funkcja anonimowa (closure) jest definiowana za pomocą operatora
function
bez nazwy. Rekurencja oznacza, że funkcja wywołuje samą siebie. - Przykład kodu:
- Wyjaśnienie kodu: Funkcja
$rekurencyjna
oblicza silnię liczby. Jeżeli liczba jest mniejsza lub równa 0, zwraca 1 (warunek zakończenia rekurencji). W przeciwnym wypadku, zwraca liczbę pomnożoną przez wynik rekurencyjnego wywołania funkcji dla liczby pomniejszonej o 1. - Zastosowanie
use (&$rekurencyjna)
: Słowo kluczoweuse
pozwala funkcji anonimowej uzyskać dostęp do zmiennych z otaczającego zakresu. Operator&
tworzy referencję, dzięki czemu funkcja może modyfikować zmienną$rekurencyjna
(chociaż w tym przykładzie nie jest to konieczne).
$rekurencyjna = function ($n) use (&$rekurencyjna) {
if ($n <= 0) {
return 1;
} else {
return $n * $rekurencyjna($n - 1);
}
};
echo $rekurencyjna(5); // Wyświetli 120 (5!)
Ten przykład pokazuje podstawowe zastosowanie rekurencji w funkcjach anonimowych w PHP. Zachęcamy do eksperymentowania z różnymi przykładami i zgłębiania tematu!