Sobes.tech
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.