Trabajo con recursión en PHP
En programación existe un concepto llamado
recursión - es cuando una función se llama
a sí misma. Veamos un ejemplo.
Mostremos números del 1
al 10
usando recursión:
<?php
$i = 1;
function func()
{
global $i;
echo $i;
$i++;
if ($i <= 10){
func(); // aquí la función se llama a sí misma
}
}
func();
?>
Analicemos cómo funciona este código.
Tenemos una variable global $i
y una función func
, dentro de la cual en la consola
se muestra el contenido de la variable $i
,
y luego se hace ++
.
Si nuestra variable $i
es menor o
igual a 10
, entonces la función se llama nuevamente.
Debido a que la variable $i
es global,
en cada nueva llamada a la función en ella
estará el valor establecido durante la llamada anterior
de la variable $i
.
Resultará que la función se llamará a sí
misma hasta que $i
se vuelva
mayor que 10
.
Tenga en cuenta que en nuestro caso no se puede ejecutar la función
sin if
- si se hace esto,
resultará en una llamada infinita de funciones.