Опубликовано Оставить комментарий

Анонимные функции в PHP

Анонимные функции в PHP
Анонимные функции в PHP

Анонимные функции (closures, замыкания), позволяют создавать функции, не имеющие определенных имен. Они наиболее полезны в качестве значений callback-параметров, но также могут иметь и множество других применений. Псевдо-тип callback до того, как был введен тип callable в PHP 5.4. Он означает то же самое: функцию, создаваемую без имени и помещаемую в качестве аргумента в другую функцию или присваиваемую PHP-переменной.

Видео об анонимных функциях в PHP

 

Анонимные функции в PHP документации

<?php
echo preg_replace_callback('~-([a-z])~', function ($match) {
    return strtoupper($match[1]);
}, 'hello-world');
// выведет helloWorld
?>

Анонимная функция из видео

$urls = [
 ["url" => "http://htmllab.ru", "size"=>34],
 ["url" => "http://www.specialist.ru","size"=>2],
 ["url" => "http://youtube.com/htmllabru","size"=>134],
];
$type = "url";
$mysort = function ($e1, $e2) use ($type){
 return $e1[$type] < $e2[$type] ? 1 : -1;
};

usort($urls, $mysort);

echo "<pre>",print_r($urls),"</pre>";

Функции func_num_args(), func_get_arg() и func_get_args() также можно использовать вместе с анонимными функциями. Функция call_user_func() указывает пользовательскую функцию, указанную в качестве второго аргумента. 

Добавить комментарий