Junior
Kas yra anoniminės funkcijos?
sobes.tech AI
Atsakymas iš AI
Anoniminė funkcija (arba Closure) yra funkcija be vardo. Ji gali būti saugoma kintamajame ir perduodama kaip argumentas kitoms funkcijoms.
Pagrindinės savybės:
- Be vardo.
- Gali būti priskirta kintamajam.
- Gali būti perduodama kaip parametras kitai funkcijai (callback).
- Gali naudoti tėvų apimties kintamuosius per
usekonstrukciją.
Pavyzdys:
<?php
// Anoniminės funkcijos priskyrimas kintamajam
$greet = function($name)
{
printf("Labas, %s!\n", $name);
};
$greet('Pasauli'); // Anoniminės funkcijos kvietimas
// Naudojimas kaip callback
$numbers = [1, 2, 3, 4, 5];
$doubled = array_map(function($n) {
return $n * 2;
}, $numbers);
print_r($doubled);
// Tėvų apimties kintamųjų naudojimas per `use`
$message = 'Labas';
$example = function () use ($message) {
echo $message;
};
$example();
Anoniminių funkcijų privalumai:
- Naudinga trumpoms, vienkartinėms funkcijoms.
- Dažnai naudojamos su aukštesnio lygio funkcijomis (pvz.,
array_map,usort). - Leidžia kurti uždarymus (closures).
Trūkumai:
- Gali būti mažiau skaitomos sudėtingoms funkcijoms.
- Derinimas gali būti šiek tiek sudėtingesnis dėl vardo nebuvimo.