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