Funkcje generujące

Założenie: Zrozumieć, jak tworzyć i używać funkcji generujących w PHP do iteracji po zbiorach danych.

Krok po kroku:

  1. Tworzenie prostej funkcji generującej: Funkcje generujące używają słowa kluczowego `yield` do zwracania wartości po kolei, zamiast zwracać cały zbiór danych na raz. Poniższy przykład generuje liczby od 1 do 5:
  2. 
    function generujLiczby() {
      for ($i = 1; $i <= 5; $i++) {
        yield $i;
      }
    }
    				

    Funkcja generujLiczby() używa pętli for do iteracji po liczbach od 1 do 5. W każdej iteracji, instrukcja yield $i; zwraca bieżącą wartość $i i zawiesza wykonanie funkcji. Następne wywołanie funkcji wznowi jej wykonanie od miejsca, w którym zostało przerwane.

  3. Iteracja po funkcji generującej: Możemy iterować po wartościach zwracanych przez funkcję generującą za pomocą pętli foreach:
  4. 
    foreach (generujLiczby() as $liczba) {
      echo $liczba . " ";
    } // Wyświetli: 1 2 3 4 5
    				

    Pętla foreach iteruje po każdej wartości zwróconej przez generujLiczby().

  5. Funkcja generująca z warunkiem: Możemy dodać logikę warunkową do funkcji generującej:
  6. 
    function generujLiczbyParzyste($limit) {
      for ($i = 1; $i <= $limit; $i++) {
        if ($i % 2 == 0) {
          yield $i;
        }
      }
    }
    
    foreach (generujLiczbyParzyste(10) as $liczba) {
      echo $liczba . " ";
    } // Wyświetli: 2 4 6 8 10
    				

    Ta funkcja generuje tylko liczby parzyste mniejsze lub równe $limit.

Ten przykład pokazuje podstawowe zastosowanie funkcji generujących w PHP. Funkcje generujące są bardzo przydatne do pracy z dużymi zbiorami danych, ponieważ nie wymagają załadowania wszystkich danych do pamięci jednocześnie.

Zachęcamy do dalszego zgłębiania tematu funkcji generujących w PHP, aby w pełni wykorzystać ich potencjał!

Dodaj komentarz 0

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