Junior
Анонимдүү функциялар деген эмне?
sobes.tech AI
AIден жооп
Анонимдүү функция (же Closure) — бул аты жок функция. Ал өзгөрмөдө сакталат жана башка функцияларга аргумент катары өткөрүлүшү мүмкүн.
Негизги өзгөчөлүктөрү:
- Аты жок.
- Өзгөрмөгө берилет.
- Башка функцияга параметр катары өткөрүлүшү мүмкүн (callback).
useкурулушу аркылуу ата-эне чөйрөдөн өзгөрмөлөрдү колдонуу мүмкүн.
Колдонуу мисалы:
<?php
// Анонимдүү функцияны өзгөрмөгө берүү
$greet = function($name)
{
printf("Салам, %s!\n", $name);
};
$greet('Дүйнө'); // Анонимдүү функцияны чакыруу
// Callback катары колдонуу
$numbers = [1, 2, 3, 4, 5];
$doubled = array_map(function($n) {
return $n * 2;
}, $numbers);
print_r($doubled);
// `use` аркылуу ата-эне чөйрөдөн өзгөрмөлөрдү колдонуу
$message = 'Салам';
$example = function () use ($message) {
echo $message;
};
$example();
Анонимдүү функциялардын артыкчылыктары:
- Кыска жана бир жолу колдонулуучу функциялар үчүн ыңгайлуу.
- Жогорку даражадагы функциялар менен кеңири колдонулат (мисалы,
array_map,usort). - Закрытияларды (closures) түзүүгө мүмкүндүк берет.
Кемчиликтери:
- Кыйынчылык функциялар үчүн окумдуулугу төмөндөйт.
- Ата-эне чөйрөдөн өзгөрмөлөрдү колдонуу кыйынчылык жаратат.