Dicho y hecho, en esta entrega hablaremos sobre las
funciones recursivas. Todos aquellos que ya tienen conocimientos sobre
programación, saben perfectamente que la recursividad puede
en ocasiones un arma de doble filo.
Pero antes que nada, expliquemos lo que una función
recursiva es: Una función recursiva es una función que
se llama a si misma, tan sencillo como eso.
Ahora bien, ¿por qué es una arma de
doble filo?, si una función recursiva no se construye de forma
adecuada, podría terminar en ciclo sin fin (como las promesas
de los candidatos políticos) y echar a perder nuestra aplicación,
amén de sobrecargar la memoria de nuestra computadora. Una
función recursiva, si fuese necesario hacer una comparación,
se comporta de forma muy similar a un ciclo WHILE,
en la que debemos poner una condición a cumplirse, de tal manera
que el ciclo termine, de lo contrario, el ciclo continuaría
indefinidamente.
Así pues, dicho lo anterior, hagamos un pequeño
y sencillo ejercicio de recursividad, ¿les parece?
Imaginemos esta situación:
Tenemos un arreglo de la siguiente forma: $arreglo = array("hola", "adios",
array("hello", "good bye"), "salut");
Y necesitamos imprimir en pantalla todos los componentes
o elementos del arreglo por medio de una función recursiva.
¿Cómo lo haríamos?
Antes de ver el código que conforma nuestra
página recursividad.php (preocupante, lo sabemos), ¿Que
tal si lo intentan?
Nos permitimos dirigir su atención a la delicada
forma en la que hemos escrito “sugerido”, ya que, las
soluciones para un problema en programación pueden ser realmente
muy variadas.
Ahora bien, el resultado de nuestro código
es el siguiente:
Muy bien, no nos resta más que, una vez más
recomendarles prudencia en el uso de las funciones recursivas, sobre
todo, tomando en cuenta que siempre hay que poner una condición
para que la función deje de llamarse a si misma y evitar de
esa manera un estancamiento en nuestra computadora.