Рекурсивная анонимная (лямбда) функция
Пример ниже показывает как можно создать рекурсивное замыкание. Другими словами как можно создать анонимную функцию и использовать её рекурсивно саму в себе.
Все это может показаться бредом, но как ни странно такие функции мне иногда нужны из-за удобства. Поэтому хорошо бы знать, что такое можно делать в PHP.
// считаем факториал
$factorial__fn = static function( $n ) use ( & $factorial__fn ){
if( $n == 1 ){
return 1;
}
return $n * $factorial__fn( $n-1 );
};
echo $factorial__fn( 5 ); //= 120—
Заметка встроена в: 30 неожиданностей в PHP