Closures a zakres zmiennych

Założenie: Zademonstrujemy użycie słowa kluczowego use w closure do modyfikacji zmiennej zewnętrznej za pomocą referencji.

Krok po kroku:

  1. Deklaracja zmiennej zewnętrznej: Zdefiniujmy zmienną $liczba.
  2. 
    $liczba = 10;
    				
  3. Definicja closure z użyciem `use` i referencji: Utworzymy closure, które przyjmuje argument i dodaje go do zmiennej $liczba. Słowo kluczowe use z ampersandem (&) przed nazwą zmiennej tworzy referencję.
  4. 
    $dodaj = function($x) use (&$liczba) {
      $liczba += $x;
    };
    				
  5. Wywołanie closure: Wywołajmy closure z argumentem 5.
  6. 
    $dodaj(5);
    				
  7. Wyświetlenie zmiennej: Sprawdźmy, czy wartość zmiennej $liczba została zmodyfikowana.
  8. 
    echo $liczba; // Wyświetli 15
    				

Ten przykład pokazuje, jak closure może modyfikować zmienne z zakresu zewnętrznego za pomocą use i referencji. Pamiętaj, że użycie referencji zmienia oryginalną zmienną.

Dodaj komentarz 0

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