Анонимная рекурсивная функция в PHP
Опубликовано: 4 Февраля, 2022
Анонимная рекурсивная функция - это тип рекурсии, при котором функция не вызывает явно другую функцию по имени. Это можно сделать либо комплексно, используя функцию более высокого порядка, передав функцию в качестве аргумента и вызывая эту функцию. Это может быть сделано неявно, с помощью функций отражения, которые позволяют получить доступ к определенным функциям в зависимости от текущего контекста, особенно текущей функции.
В теории информатики анонимная рекурсия имеет большое значение, поскольку анонимная рекурсия - это тип рекурсии, в котором можно реализовать рекурсию, не требуя именованных функций.
Использование анонимной рекурсии:
- Анонимная рекурсия в первую очередь используется для разрешения рекурсии для анонимных функций.
- В частности, когда они образуют замыкания или используются в качестве обратных вызовов, чтобы избежать привязки имени функции.
Альтернативы:
- Использование именованной рекурсии и именованных функций.
- Если задана анонимная функция, анонимная рекурсия может быть выполнена либо путем привязки имени к функции, как в именованных функциях.
Program 1:
<?php // PHP program to illustrate the // Anonymous recursive function $func = function ( $limit = NULL) use (& $func ) { static $current = 10; // if condition to check value of $current. if ( $current <= 0) { //break the recursion return FALSE; } // Print value of $current. echo "$current
" ; $current --; $func (); }; // Function call $func (); ?> |
Output:
10 9 8 7 6 5 4 3 2 1
Program 2:
<?php // PHP program to illustrate the // Anonymous recursive function $factorial = function ( $num ) use ( & $factorial ) { // Base condition of recursion if ( $num == 1 ) return 1; // return statement when $m is not equals to 1. return $factorial ( $num - 1 ) * $num ; }; // Function call print $factorial ( 6 ); ?> |
Output:
720