Junior
Co jsou anonymní funkce?
sobes.tech AI
Odpověď od AI
Anonymní funkce (nebo Closure) je funkce bez jména. Může být uložena v proměnné a předána jako argument do jiných funkcí.
Hlavní vlastnosti:
- Bez jména.
- Může být přiřazena proměnné.
- Může být předána jako parametr jiné funkce (callback).
- Může používat proměnné z rodičovského rozsahu pomocí konstrukce
use.
Příklad použití:
<?php
// Přiřazení anonymní funkce proměnné
$greet = function($name)
{
printf("Ahoj, %s!\n", $name);
};
$greet('Svět'); // Volání anonymní funkce
// Použití jako callback
$numbers = [1, 2, 3, 4, 5];
$doubled = array_map(function($n) {
return $n * 2;
}, $numbers);
print_r($doubled);
// Použití proměnných z rodičovského rozsahu pomocí use
$message = 'Ahoj';
$example = function () use ($message) {
echo $message;
};
$example();
Výhody anonymních funkcí:
- Vhodné pro krátké, jednorázové funkce.
- Často se používají s funkcemi vyššího řádu (například
array_map,usort). - Umožňují vytváření uzávěrek (closures).
Nevýhody:
- Mohou být méně čitelné u složitějších funkcí.
- Debugging může být trochu složitější kvůli absenci jména.