Они называются анонимными функциями. В PHP> = 5,3 вы можете сделать:
$func = function($a, $b) {
return $a + $b;
};
$result = $func(3, 4); // returns 7
Вы даже можете иметь замыкания:
$c = 5;
$func = function($a, $b) use ($c) {
return ($a + $b) * $c;
};
$result = $func(3, 4); // returns 35
Но учтите: следующий фрагмент JavaScript можно воспроизвести только в PHP с использованием ссылок:
var c = 5;
var f = function(a, b) {
return (a + b) * c;
};
var r = f(3, 4); // returns 35
c = 6;
r = f(3, 4); // returns 42
В PHP это должно выглядеть так:
$c = 5;
$func = function($a, $b) use (&$c) {
return ($a + $b) * $c;
};
$result = $func(3, 4); // returns 35
$c = 6;
$result = $func(3, 4); // returns 42
До версии 5.3 вы должны использовать create_function()
для создания анонимных функций.