Pętle a programowanie funkcyjne

Założenie: Porównamy tradycyjne pętle w PHP z funkcjami array_map i array_filter, ilustrując zalety programowania funkcyjnego.

Krok po kroku:

  1. Przykład z pętlą `for`: Obliczymy kwadraty liczb z tablicy.
  2. 
    $numbers = [1, 2, 3, 4, 5];
    $squares = [];
    for ($i = 0; $i < count($numbers); $i++) {
      $squares[] = $numbers[$i] * $numbers[$i];
    }
    print_r($squares); // Wyświetli: Array ( [0] => 1 [1] => 4 [2] => 9 [3] => 16 [4] => 25 )
    				

    Ten kod iteruje po tablicy `$numbers` i oblicza kwadrat każdej liczby, zapisując wynik do tablicy `$squares`.

  3. Przykład z `array_map`: To samo zadanie, ale z użyciem funkcji `array_map`.
  4. 
    $numbers = [1, 2, 3, 4, 5];
    $squares = array_map(function ($number) {
      return $number * $number;
    }, $numbers);
    print_r($squares); // Wyświetli: Array ( [0] => 1 [1] => 4 [2] => 9 [3] => 16 [4] => 25 )
    				

    Funkcja `array_map` stosuje anonimową funkcję (closure) do każdego elementu tablicy `$numbers`, zwracając nową tablicę `$squares` z wynikami.

  5. Przykład z `array_filter`: Wybierzemy tylko parzyste liczby z tablicy.
  6. 
    $numbers = [1, 2, 3, 4, 5, 6];
    $evenNumbers = array_filter($numbers, function ($number) {
      return $number % 2 == 0;
    });
    print_r($evenNumbers); // Wyświetli: Array ( [1] => 2 [3] => 4 [5] => 6 )
    				

    Funkcja `array_filter` filtruje tablicę `$numbers`, pozostawiając tylko elementy spełniające warunek określony w anonimowej funkcji (czyli liczby parzyste).

Podsumowanie: Ten przykład pokazał podstawowe różnice między pętlami a funkcjami programowania funkcyjnego w PHP. `array_map` i `array_filter` często prowadzą do bardziej zwięzłego i czytelnego kodu. Zachęcamy do dalszego zgłębiania tych technik!

Dodaj komentarz 0

Your email address will not be published. Required fields are marked *