Junior
Čo sú anonymné funkcie?
sobes.tech AI
Odpoveď od AI
Anonymná funkcia (alebo Closure) je funkcia bez mena. Môže byť uložená do premennej a odovzdaná ako argument do iných funkcií.
Hlavné vlastnosti:
- Bez mena.
- Môže byť priradená premennej.
- Môže byť odovzdaná ako parameter inej funkcie (callback).
- Môže používať premenné z rodičovského rozsahu pomocou konštrukcie
use.
Príklad použitia:
<?php
// Priradenie anonymnej funkcie premennej
$greet = function($name)
{
printf("Ahoj, %s!\n", $name);
};
$greet('Svet'); // Volanie anonymnej funkcie
// Použitie ako callback
$numbers = [1, 2, 3, 4, 5];
$doubled = array_map(function($n) {
return $n * 2;
}, $numbers);
print_r($doubled);
// Použitie premenných z rodičovského rozsahu pomocou use
$message = 'Ahoj';
$example = function () use ($message) {
echo $message;
};
$example();
Výhody anonymných funkcií:
- Vhodné pre krátke, jednorazové funkcie.
- Často sa používajú s funkciami vyššieho radu (napríklad
array_map,usort). - Umožňujú vytváranie uzávierok (closures).
Nevýhody:
- Môžu byť menej čitateľné pre zložitejšie funkcie.
- Debugging môže byť trochu ťažší kvôli absencii mena.