Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Clôture récursive

<?php

$factorial = function (int $n) use (&factorial) {
    if ($n === 1) {
        return 1;
    }
    
    return $factorial($n - 1) * $n;
};

print factorial( 5 );

?>

Pour créer une clôture récursive, la clôture doit à la fois être stockée dans une variable et passée en paramètre use à la même factorielle.

Cela fonctionne également avec les fonctions fléchées, bien qu’il n’y ait pas de use, mais la variable doit être définie d’abord pour pouvoir être utilisée dans le contexte ultérieurement.

See Also

PHP Features

Last updated: 11 October 2026