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
   84   85   86   87   88   89   90   91   92   93   94