Funkcje anonimowe w pętlach
Założenie: Pokażemy, jak używać funkcji anonimowych wewnątrz pętli `foreach` w PHP, aby dynamicznie generować kod i uniknąć problemów z zakresem zmiennych.
Krok po kroku:
- Tworzenie tablicy z danymi: Zdefiniujmy tablicę zawierającą imiona.
- Pętla `foreach` z funkcją anonimową: Przetworzymy tablicę `$imiona` używając pętli `foreach`. Wewnątrz pętli użyjemy funkcji anonimowej, która przyjmuje imię jako argument i wyświetla powitanie.
- Wyjaśnienie: Funkcja anonimowa `function ($imie) { … }` jest definiowana w każdej iteracji pętli. Każda instancja funkcji ma swój własny zakres, unikając problemów z nadpisywaniem zmiennych. `$imie` wewnątrz funkcji anonimowej odnosi się do argumentu przekazanego do funkcji, a nie do zmiennej globalnej `$imie`.
- Alternatywne podejście z użyciem `use`: Można również przekazać zmienną z zewnątrz do funkcji anonimowej za pomocą słowa kluczowego `use`.
- Wyjaśnienie: Słowo kluczowe `use ($prefix)` pozwala funkcji anonimowej uzyskać dostęp do zmiennej `$prefix` z zakresu zewnętrznego.
$imiona = ["Jan", "Anna", "Piotr", "Maria"];
foreach ($imiona as $imie) {
$funkcjaAnonimowa = function ($imie) {
echo "Witaj, " . $imie . "!\n";
};
$funkcjaAnonimowa($imie);
}
$prefix = "Cześć, ";
foreach ($imiona as $imie) {
$funkcjaAnonimowa = function ($imie) use ($prefix) {
echo $prefix . $imie . "!\n";
};
$funkcjaAnonimowa($imie);
}
Ten przykład pokazuje podstawowe zastosowanie funkcji anonimowych w pętlach w PHP. Zachęcamy do dalszego eksperymentowania i zgłębiania tematu!