Sobes.tech
Junior

Cosa sono le funzioni anonime?

sobes.tech AI

Risposta dell'AI

Una funzione anonima (o Closure) è una funzione senza nome. Può essere memorizzata in una variabile e passata come argomento ad altre funzioni.

Caratteristiche principali:

  • Senza nome.
  • Può essere assegnata a una variabile.
  • Può essere passata come parametro a un'altra funzione (callback).
  • Può utilizzare variabili dall'ambito genitore tramite la costruzione use.

Esempio di utilizzo:

<?php
// Assegnazione di una funzione anonima a una variabile
$greet = function($name)
{
    printf("Ciao, %s!\n", $name);
};

$greet('Mondo'); // Chiamata alla funzione anonima

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

print_r($doubled);

// Uso di variabili dall'ambito genitore tramite use
$message = 'Ciao';
$example = function () use ($message) {
    echo $message;
};
$example();

Vantaggi delle funzioni anonime:

  • Utile per funzioni brevi e usa e getta.
  • Spesso usate con funzioni di ordine superiore (ad esempio, array_map, usort).
  • Permettono di creare closure.

Svantaggi:

  • Potrebbero essere meno leggibili per funzioni complesse.
  • Il debug può essere un po' più difficile a causa della mancanza di nome.