Page 89 - Programador-PHP
P. 89
Programación Procedural de Aplicaciones Web de baja complejidad
PHP Experto – Tomo I Eugenia Bahit
Llamadas recursivas
Se denomina llamada recursiva (o recursividad), a
aquellas funciones que en su algoritmo, hacen
referencia sí misma.
Las llamadas recursivas suelen ser muy útiles en casos muy
puntuales, pero debido a su gran factibilidad de caer en
iteraciones infinitas, deben extremarse las medidas precautivas
necesarias y solo utilizarse cuando sea estrictamente necesario
y no exista una forma alternativa viable, que resuelva el
problema, evitando la recursividad.
PHP admite las llamadas recursivas, permitiendo a una función,
llamarse a sí misma, de igual forma que lo hace cuando llama a
otra función.
function funcion_recursiva() {
//algoritmo...
funcion_recursiva();
}
Veamos como funciona. En el siguiente ejemplo:
function funcion_recursiva($a=0) {
if($a == 0) {
$a = 1;
$a = funcion_recursiva($a);
} else {
$a = $a*2;
}
return $a;
}
si llamo a funcion_recursiva() sin pasar ningún parámetro,
funcion_recursiva tomará el valor de $a definido por defecto
(0). Ejecutará entonces el if, se llamará a si misma, y en esta
segunda ejecución, actuará el else.
si en cambio, llamara a funcion_recursiva(5) pasando un
entero como parámetro, se ejecutará el else directamente. Lo
89