Рекурсивная анонимная (лямбда) функция
Пример ниже показывает как можно создать рекурсивное замыкание. Другими словами как можно создать анонимную функцию и использовать её рекурсивно саму в себе.
Все это может показаться бредом, но как ни странно такие функции мне иногда нужны из-за удобства. Поэтому хорошо бы знать, что такое можно делать в 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