This is a good example, one thing I'm wondering is why you return
return ($number * factorial($number-1));
instead of just
return (factorial($number-1));