função recursiva -
Galera eu tava dando uma estudada em funções recursivas, eu entendi o funcionamento e talz, só que surgiu uma duvida. Quando eu coloco;
<? function recursion($a){if ($a < 20) {echo "$a\n";recursion($a + 1);}}recursion(1);?>
O seguinte resultado é exibido:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
Até ai tudo bem agora se eu colocar um echo para imprimir o valor da variável $a após a chamada da função....
<? function recursion($a){if ($a < 20) {echo "$a\n";recursion($a + 1);echo "$a\n"; // Imprimindo na tela o valor de $a após a chamada da função.}}recursion(1);?>
O seguinte resultado aparece
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
O que eu não entendo.:
Por que ele imprime 19 vezes o valor de $a após a chamada da função recursion, sendo que a condição do if já e falsa.
Por que ele imprime a variável $a decrementando.
Desde já agradeço. :rolleyes:
Discussão (9)
Carregando comentários...