Open In App

Anonymous recursive function in PHP

Anonymous recursive function is a type of recursion in which function does not explicitly call another function by name. This can be done either comprehensively, by using a higher order function passing in a function as an argument and calling that function. It can be done implicitly, via reflection features which allow one to access certain functions depending on the current context, especially ,the current function.
In theory of computer science, anonymous recursion is significant, as anonymous recursion is type of recursion in which one can implement recursion without requiring named functions .

Use of Anonymous Recursion:



Alternatives:

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\n"
      
    $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

Article Tags :