Algunos ejemplos:
function factorial($numero) { if ($numero <= 1) { return 1; } else { return $numero * factorial($numero - 1); } } //Sería equivalente a lo siguiente: function factorial5() { return 5 * factorial4(); } function factorial4() { return 4 * factorial3(); } function factorial3() { return 3 * factorial2(); } function factorial2() { return 2 * factorial1(); } function factorial1() { return 1; } function fibonacci($n) { if ($n <= 2) { return 1; } else { return fibonacci($n - 1) + fibonacci($n - 2); } } function anagrama($cadena, $inicio = "") { //Si la longitud es uno, el anagrama es el mismo. Como es un nodo final imprimimos el resultado if (strlen($cadena) == 1) { echo $inicio . $cadena . "<br>"; return 1; } else { //Si no el anagrama será cada una de las letras más el anagrama del resto de la cadena //Le pasamos como parámetro la cadena de inicio que será la letra más lo que nos hayan //pasado como parámetro $c=0; for ($i = 0; $i < strlen($cadena); $i++) { $letra = substr($cadena, $i, 1); $c+=anagrama(substr($cadena, 0, $i) . substr($cadena, $i + 1), $inicio . $letra); } return $c; } }