Sortowanie tablic z użyciem technik programowania funkcyjnego – zaawansowane
Założenie: Nauczymy się sortować tablice w PHP za pomocą funkcji wyższego rzędu, takich jak array_map
, array_filter
i array_reduce
. Pokazany zostanie przykład sortowania listy liczb parzystych.
Krok po kroku:
- Tworzenie tablicy liczb: Zdefiniujmy tablicę zawierającą liczby całkowite.
- Filtrowanie liczb parzystych: Użyjemy funkcji
array_filter
, aby wybrać tylko liczby parzyste. - Sortowanie liczb parzystych: Użyjemy funkcji
usort
do sortowania tablicy$evenNumbers
w porządku rosnącym. - Wyświetlanie wyników: Wyświetlamy posortowaną tablicę liczb parzystych.
$numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
$evenNumbers = array_filter($numbers, function ($number) {
return $number % 2 == 0;
});
Funkcja anonimowa (closure) sprawdza, czy liczba jest podzielna przez 2. array_filter
zwraca nową tablicę zawierającą tylko elementy spełniające warunek.
usort($evenNumbers, function ($a, $b) {
return $a - $b;
});
Funkcja anonimowa porównuje dwa elementy ($a
i $b
) i zwraca wartość ujemną, jeśli $a
jest mniejsze od $b
, dodatnią, jeśli $a
jest większe od $b
, i 0, jeśli są równe.
print_r($evenNumbers);
Ten przykład pokazuje podstawowe zastosowanie funkcji wyższego rzędu w PHP do sortowania tablic. Zachęcamy do dalszego zgłębiania tematu i eksperymentowania z innymi funkcjami, takimi jak array_map
i array_reduce
.