Sobes.tech
Junior

Czym są funkcje anonimowe?

sobes.tech AI

Odpowiedź od AI

Funkcja anonimowa (lub Closure) to funkcja bez nazwy. Może być przechowywana w zmiennej i przekazywana jako argument do innych funkcji.

Główne cechy:

  • Brak nazwy.
  • Może być przypisana do zmiennej.
  • Może być przekazana jako parametr do innej funkcji (callback).
  • Może korzystać ze zmiennych z zakresu nadrzędnego za pomocą konstrukcji use.

Przykład użycia:

<?php
// Przypisanie funkcji anonimowej do zmiennej
$greet = function($name)
{
    printf("Cześć, %s!\n", $name);
};

$greet('Świecie'); // Wywołanie funkcji anonimowej

// Użycie jako callback
$numbers = [1, 2, 3, 4, 5];
$doubled = array_map(function($n) {
    return $n * 2;
}, $numbers);

print_r($doubled);

// Użycie zmiennych z zakresu nadrzędnego za pomocą use
$message = 'Cześć';
$example = function () use ($message) {
    echo $message;
};
$example();

Zalety funkcji anonimowych:

  • Przydatne do krótkich, jednorazowych funkcji.
  • Często używane z funkcjami wyższego rzędu (np. array_map, usort).
  • Pozwalają na tworzenie zamknięć.

Wady:

  • Mogą być mniej czytelne dla funkcji złożonych.
  • Debugowanie może być nieco trudniejsze z powodu braku nazwy.