Mam z książki taki przykład na wykorzystanie funkcji do obliczenia rekurencyjnie silni. Nie rozumiem jednak jak ten skrypt - krótki co prawda - działa. Chodzi mi konkretnie o linijkę:
else {return $n*silnia($n-1);}
ja to czytam tą linijkę tak: ma zwrócić: 5*5*-4, bo pod $n kryje się 5, a pod "silnia" też 5... ale chyba odczytuję ją źle...

Cały skrypt wygląda on tak:
<? function silnia ($n) { if ($n==0) {return 1; } else {return $n*silnia($n-1);} } ?>
Czy jakaś dobra dusza mołaby mi to po kroku wyjaśnić co z czego i dlaczego ?
Pozdro i dzięki