
Анонимные функции (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() указывает пользовательскую функцию, указанную в качестве второго аргумента.