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.