Hi!
Noch was ganz anderes:
if ($n == 0)
{
return 1;
}
else
{
...
}
Wenn im if-Zweig mit einem return (oder continue und break in Schleifen) garantiert der aktuelle Scope (hier die Funktion) verlassen wird, so benötigt man keine else-Kapslung mehr. Im Falle einer zutreffenden if-Bedingung wird die Funktion komplett verlassen. Der Anderenfalls-Code wird also in dem Fall nie erreicht und muss deshalb nicht mit einem else-Block vor der Ausführung "geschützt" werden.
Lo!