Rekurencja

Z PHPEdia.pl

Rekurencja - funkcją rekurencyjną, nazywamy taką funkcję, która wywołuje sama siebie.

<?php
function foo()
{
    echo 'bar';
    foo();
}
?>

Powyższy kod będzie się wykonywał w nieskończoność, wypisując cały czas 'bar'. Należy więc, przewidzieć już podczas pisania, moment przerwania. Można to zrobić tak:

<?php
function foo()
{
    static $i; // zmienna statyczna
    while($i<5)
    {
        echo 'bar';
        $i++;
        foo();
    }
    return true;
}?>

I jeszcze jeden przykład:

<?php
/** 
 * Liczy silnie podanej liczby z wykorzystaniem zależności: n! = (n - 1)! * n
 * 
 * @param int intN Liczba naturalna lub zero
 * @return int 
 */
function silnia( $intN )
{
    if ( $intN === 0 )
    {
        return 1;
    }
    else
    {
        return silnia( $intN - 1 ) * $intN;
    }
}
?>