Función recursiva de PHP
$hg-1 no cambia el valor de $hg. Y $hg--o--$hg cambia el valor de $hg.
Primero analiza $hg--; esto es usar $hg primero y luego restar 1. En otras palabras, gogo(3) se usa cada vez, formando un bucle infinito.
Luego analiza --$hg; Esto se resta en 1 primero y luego se usa.
La primera vez: gogo(3) = 2*(gogo(2)); //
La segunda vez: gogo(2) = 1*(gogo(1) );
La tercera vez: gogo(1) = 0*(gogo(0)) = 0*1 = 0;