Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Funciones recursivas no devuelven 'nada'

Estas en el tema de Funciones recursivas no devuelven 'nada' en el foro de PHP en Foros del Web. Hola, Antes de nada deciros que aprecio muchísimo el trabajo que se hace en este foro, se encuentran respuestas a todo. Esta vez estoy tratando ...
  #1 (permalink)  
Antiguo 11/02/2013, 15:56
 
Fecha de Ingreso: julio-2011
Mensajes: 62
Antigüedad: 12 años, 8 meses
Puntos: 2
Pregunta Funciones recursivas no devuelven 'nada'

Hola,

Antes de nada deciros que aprecio muchísimo el trabajo que se hace en este foro, se encuentran respuestas a todo.

Esta vez estoy tratando de hacer unas funciones para recorrer una especie de árbol de categorías, aunque en realidad es un array con "truco", digamos

PERO el problema es que no devuelven NADA.

El truco para usar un array en vez de crear otra clase "Arbol", es crear un array para cada categoría encontrada, ponerla en el elemento [0], y en los sucesivos índices poner sus hijas, cada una en su correspondiente array, claro está.

El esquema es el siguiente:
Código:
array (size=2)                       //Hay 2 categorías padre
  0 => 
    array (size=3)                   //tamaño 3 porque la categoría A tiene 2 hijos (ella y sus hijos)
      0 => 
        array (size=3)               //lo que es la categoría - tiene nombre id e id_padre
          'nombre' => string 'A' (length=1)
          'id' => string '1' (length=1)
          'id_padre' => string '0' (length=1)
      1 => 
        array (size=3)               //primera hija
          0 => 
            array (size=3)           //su contenido
              ...
          1 => 
            array (size=1)           //su hija
              ...
          2 => 
            array (size=1)           //otra hija suya
              ...
  1 => 
    array (size=4)                   //la 2ª categoría padre
      0 => 
        array (size=3)               //su contenido
          'nombre' => string 'B' (length=1)
          'id' => string '2' (length=1)
          'id_padre' => string '0' (length=1)
      1 => 
        array (size=1)               //su primera hija
          0 => 
            array (size=3)           //su contenido
              ...
      2 => 
        array (size=1)               //su segunda hija
          0 => 
            array (size=3)           //su contenido
              ...
      3 => 
        array (size=1)               //su tercera hija
          0 => 
            array (size=3)           //su contenido
              ...
//FIN
Las funciones son las siguientes:
Código PHP:
/**
 * Funcion que uso para pasar el arbol y asi simplificar al maximo el codigo en el tema
 * @return string La lista definitiva
 */
function imprimir_categorias(){
    return 
recorrerCategoriasPadre($this->crearArbolCategorias());
}

/**
 * Funcion que recibe un arbol, recorre cada una de las categorias padre y se las
 * da a recorrerCategoriasHijas para que las imprima y recorra sus hijos.
 * @param array Un arbol de categorias
 * @return string El listado de todas las categorias
 */

function &recorrerCategoriasPadre(&$arbol){
    
$html="
        <ul>"
;//empezamos la lista
    
foreach($arbol as $padre){ //por cada padre que haya
            
$html.=recorrerCategoriasHijas($arbol[$i]); //empezamos a recorrer
    
}
    
$html.="
        <ul>"
;//cerramos la lista
    
return $html//retornamos la lista completa
}

/**
 * Funcion que recorre cada categoria y sus hijos
 * @param array $arbol Un arbol de categorias
 * @return string Lista con cada categoria y sus hijos
 */
function &recorrerCateogiasHijas(&$arbol){
    
//imprimimos la categoria padre en cuestion
    
$html="<li>
                <input type=\"checkbox\" name=\"cb{$arbol[0]['id']}\" id=\"cb{$arbol[0]['id']}\" />
                <label for=\"cb{$arbol[0]['id']}\">{$arbol[0]['nombre']}</label>"
;
    if(isset(
$arbol[1])){//y si tiene hijos
        
for($i=1;i<count($arbol);$i++){//los recorremos tambien, imprimiendolos
            
$html.="
                <ul>"
;//abrimos una lista anidada
            
$html.=recorrerCategoriasHijas($arbol[$i]);
            
$html.="
                <ul>"
;//la cerramos
        
}
    }
    
$html.="
        </li>"
;//cerramos la categoria padre
    
return $html//retornamos la seccion

Alguna idea de por qué no devuelven nada?

Muchísimas gracias de antemano
  #2 (permalink)  
Antiguo 11/02/2013, 16:21
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Funciones recursivas no devuelven 'nada'

¿Que es lo que hace tu método $this->crearArbolCategorias()?

También ya no es necesario que uses parámetros por referencia, ni en los métodos, ya que te pueden causar más problemas.

Recuerda que a partir de PHP5 todos los objetos se pasan por referencia y no por valor.

Saludos.
  #3 (permalink)  
Antiguo 11/02/2013, 16:21
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Funciones recursivas no devuelven 'nada'

En primer lugar no deberías usar los operadores de referencia, ¿o sabes perfectamente lo que estás provocando con ello?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 11/02/2013, 16:36
 
Fecha de Ingreso: julio-2011
Mensajes: 62
Antigüedad: 12 años, 8 meses
Puntos: 2
Respuesta: Funciones recursivas no devuelven 'nada'

Gracias por responder, sí, se que al poner &$variable se pasará por referencia, y al poner &funcion() se devolverá la referencia de la variable $html, corrígeme si me equivoco.

P.D.: Paso por referencia para ganar tiempo al pasar tantos "arboles"
  #5 (permalink)  
Antiguo 11/02/2013, 16:40
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Funciones recursivas no devuelven 'nada'

Cita:
Iniciado por GatorV Ver Mensaje
Recuerda que a partir de PHP5 todos los objetos se pasan por referencia y no por valor.
Además de eso, tus funciones reciben objetos y por lo tanto no hace falta la referencia.

Segundo error: si las funciones devuelven cadenas ($html) de texto, ¿para qué usar la referencia de vuelta?

Creo que desde ahí ya entendiste mal las referencias.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #6 (permalink)  
Antiguo 11/02/2013, 16:45
 
Fecha de Ingreso: julio-2011
Mensajes: 62
Antigüedad: 12 años, 8 meses
Puntos: 2
Respuesta: Funciones recursivas no devuelven 'nada'

Iba a editar mi mensaje porque no vi las 2 respuestas.

Gracias a los dos por responder.
GatorV, mi función $this->crearArbolCategorias() crea ese "arbol" que he puesto como código. No sabía eso último que has dicho sobre PHP5, gracias por la información.
De todas formas $this->crearArbolCategorias() tiene una función-pareja con la que se dedican a crear el "árbol" de categorías, y funcionan estupendamente.

pateketrueke: tienes razón, no se que he pensado, las cadenas son de por sí referencias :D

Voy a probar a quitar todos los &'s y os cuento

P.D.: Va igual, no devuelve nada
  #7 (permalink)  
Antiguo 11/02/2013, 16:52
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Funciones recursivas no devuelven 'nada'

Es por eso mi pregunta, ¿estas seguro que devuelve un array la función crearArbol? o al menos un objeto iterable...

No te queda más que hacer debug, puedes usar XDebug para que veas paso a paso como se están ejecutando tus funciones.
  #8 (permalink)  
Antiguo 11/02/2013, 17:02
 
Fecha de Ingreso: julio-2011
Mensajes: 62
Antigüedad: 12 años, 8 meses
Puntos: 2
Respuesta: Funciones recursivas no devuelven 'nada'

Sí, estoy seguro, lo he mirado con var_dump() y devuelve exáctamente el array que quiero.

La de cosas con las que se encuentra uno: queriendo pegar el resultado en HTML, acabo de ver el mensaje de error que genera XDebug, lo que pasaba es que el div en el que lo muestra está oculto al principio! :))

Fatal error: Using $this when not in object context in C:\wamp\www\temas\hartie\funciones.php on line 7

Ok, explico un poco como tengo organizado el proyecto: un framework, que tiene una funcion llamada "cargarTema()" que lo que hace es incluir el tema.
El tema incluye un archivo "funciones.php", que es donde tengo estas 3 problemáticas funciones.

Ahora me está diciendo que no puedo usar $this en "funciones.php", pero estando incluido en el tema y éste a su vez en el framework, no debería funcionar?
  #9 (permalink)  
Antiguo 11/02/2013, 17:09
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Funciones recursivas no devuelven 'nada'

No creo, se supone que $this existe únicamente dentro de los métodos de una clase instanciada (objeto) así que no deberías usarla en funciones globales así como así.

Apuesto a que si muestras el código de funciones.php verás lo mal que está.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 11/02/2013, 17:16
 
Fecha de Ingreso: julio-2011
Mensajes: 62
Antigüedad: 12 años, 8 meses
Puntos: 2
Respuesta: Funciones recursivas no devuelven 'nada'

Cita:
Iniciado por pateketrueke Ver Mensaje
Apuesto a que si muestras el código de funciones.php verás lo mal que está.
Ya he puesto todo el código de funciones.php, está en el código PHP del primer post.
  #11 (permalink)  
Antiguo 11/02/2013, 17:20
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Funciones recursivas no devuelven 'nada'

Tienes toda la razón, ahí está el cuerpo del delito:
Código PHP:
function imprimir_categorias(){
    return 
recorrerCategoriasPadre($this->crearArbolCategorias());

Piensa: ¿de dónde viene $this para ser invocado dentro de la función?

En todo caso podría ser así:
Código PHP:
function imprimir_categorias($objeto){
    return 
recorrerCategoriasPadre($objeto->crearArbolCategorias());

Me parece que deberías de leer de nuevo el manual.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 11/02/2013, 17:29
 
Fecha de Ingreso: julio-2011
Mensajes: 62
Antigüedad: 12 años, 8 meses
Puntos: 2
Respuesta: Funciones recursivas no devuelven 'nada'

Cita:
Iniciado por pateketrueke Ver Mensaje
En todo caso podría ser así:
Código PHP:
function imprimir_categorias($objeto){
    return 
recorrerCategoriasPadre($objeto->crearArbolCategorias());

Ya he probado esto. Mi objeto se llama $pag. Tengo esto en el index.php:
Código PHP:
$pag = new Pagina();
$pag->cargarTema(); 
He probado poner $pag->crearArbolCategorias(), pero saltan estos 2 mensajes:
  • Notice: Undefined variable: pag in C:\wamp\www\temas\hartie\funciones.php on line 7.
  • Fatal error: Call to a member function crearArbolCategorias() on a non-object in C:\wamp\www\temas\hartie\funciones.php on line 7.

La línea 7 es donde pone "return recorrerCategoriasPadre($pag->crearArbolCategorias());", en la función "imprimir_categorias()".
  #13 (permalink)  
Antiguo 11/02/2013, 17:48
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Funciones recursivas no devuelven 'nada'

De verdad no quiero sonar tan malvado, ¿pero si sabes usar funciones?

Para que $pag pueda ser usada dentro de la función debes pasarla como argumento, pero no lo haces, simplemente invocas la función como suponiendo que $pag ya debe existir dentro.

A eso se le conoce como contexto, y para que funcione debería ser algo así:
Código PHP:
$pag = new Pagina();
$pag->cargarTema();

// ...

imprimir_categorias($pag); 
Mal, muy mal de tu parte, de verdad deberías leer un manual.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #14 (permalink)  
Antiguo 11/02/2013, 18:08
 
Fecha de Ingreso: julio-2011
Mensajes: 62
Antigüedad: 12 años, 8 meses
Puntos: 2
Respuesta: Funciones recursivas no devuelven 'nada'

Cita:
Iniciado por pateketrueke Ver Mensaje
De verdad no quiero sonar tan malvado, ¿pero si sabes usar funciones?

Para que $pag pueda ser usada dentro de la función debes pasarla como argumento, pero no lo haces, simplemente invocas la función como suponiendo que $pag ya debe existir dentro.
A ver, por favor, ya lo he escrito. Y si busco ayuda aquí, es porque no la encuentro en otra parte, esta es la 2ª vez que pido ayuda, las otras veces o he buscado como resolver mis problemas o los he resuelto solo.

Ya se qué es el contexto.

La clase Pagina incluye al tema, y éste a su vez incluye las funciones.php. Luego en funciones.php debería poder usar $this, o no?

Más detalladamente, index.php incluye la clase Pagina, ésta incluye mediante el método incluir() el index.php del tema, éste a su vez incluye subir.php y funciones.php. No veo por qué en subir.php puedo usar $this y en funciones.php no. :/
  #15 (permalink)  
Antiguo 11/02/2013, 18:18
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Funciones recursivas no devuelven 'nada'

Cita:
Iniciado por Onedy Ver Mensaje
La clase Pagina incluye al tema, y éste a su vez incluye las funciones.php. Luego en funciones.php debería poder usar $this, o no?
No.

¿Qué parte de "$this sólo puede usarse dentro de los métodos de un objeto instanciado" no entiendes?

Es decir que $this únicamente es accesible por contexto dentro de métodos, fuera de ellos debes invocar los métodos usando la instancia de la clase.

Cita:
Iniciado por Onedy Ver Mensaje
Más detalladamente, index.php incluye la clase Pagina, ésta incluye mediante el método incluir() el index.php del tema, éste a su vez incluye subir.php y funciones.php. No veo por qué en subir.php puedo usar $this y en funciones.php no. :/
¿Dónde podemos ver ese archivo subir.php para ver mejor?

Qué yo creo que te estás confundiendo gravemente.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #16 (permalink)  
Antiguo 11/02/2013, 22:00
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: Funciones recursivas no devuelven 'nada'

Claro que es posible que uses $this, si incluyes el archivo dentro del método.

El problema aquí es el contexto, no es lo mismo que definas la función (usando $this) y la llames dentro del método o fuera de él.

Revisa este ejemplo:
Código PHP:
Ver original
  1. <?php
  2.  
  3. class Foo
  4. {
  5.     public function bar()
  6.     {
  7.         echo 'bar';
  8.     }
  9.  
  10.     public function sayBar()
  11.     {
  12.         $this->bar();
  13.     }
  14.  
  15.     public function inSayBar()
  16.     {
  17.         include('test.php');
  18.     }
  19. }
  20.  
  21. $f = new Foo();
  22. $f->sayBar(); // Bien usas $this
  23. $f->inSayBar(); // aca sirve pero no es "lo mejor"
  24. sayBar(); // ups fatal error
test.php
Código PHP:
Ver original
  1. <?php
  2. $this->bar();
  3.  
  4. function sayBar()
  5. {
  6.     $this->bar();
  7. }

Como puedes ver $this no se comporta igual aunque lo tengas en el mismo archivo, y el problema es como bien te dijo @pateketrueke, el contexto de donde estas usando $this.

Saludos.
  #17 (permalink)  
Antiguo 12/02/2013, 14:32
 
Fecha de Ingreso: julio-2011
Mensajes: 62
Antigüedad: 12 años, 8 meses
Puntos: 2
Pregunta Respuesta: Funciones recursivas no devuelven 'nada'

Escribo a continuación los archivos:

En index.php
Código PHP:
//...

//cargamos la pagina
$pag = new Pagina();
$pag->cargarTema(); 
En Pagina.php:
  • Código PHP:
    /**
    * Empieza a cargar el tema predeterminado */
    public function cargarTema(){
    if(!
    $this->incluir('index.php')) die('Tema no encontrado');

  • Código PHP:
    /**
    * Incluye el archivo $nombre_archivo. Lo busca en el directorio del tema * predeterminado.
    * $nombre_archivo
    * @param type $nombre_archivo DEBE incluir tambien las posibles subcarpetas
    * en las que esté a partir de la carpeta del tema; ejemplo:
    * Carpeta del tema: C:\wamp\www\temas\tema_negro\
    * Nombre del archivo: opciones\archivo.php
    * @return type Devuelve 1 (true) si ha encontrado el archivo, FALSE de lo contrario */
    public function incluir($nombre_archivo){
    return include 
    DIR_TEMAS.DS.$this->temaActual.DS.$nombre_archivo;


En index.php del tema predeterminado:
Código PHP:
<?php
[B][COLOR="green"]$this->incluir('funciones.php');[/COLOR][/B]
?>
<!DOCTYPE html>
<head>
...
<section id="izquierda">
                <?php
                                
if($this->esBackend()) $this->incluir('unarchivo.php');
                                elseif(
$this->esFrontend()){
                                    if(
$this->es_principal()) $this->incluir('otroarchivo.php');
                                    elseif(
$this->es_post()) $this->incluir('otro.php');
                                    elseif(
$this->es_pagina()) $this->incluir('lapagina.php');

                                    [
B][COLOR="Green"]elseif($this->es_subir()) $this->incluir('subir.php');[/COLOR][/B]

                                    elseif(
$this->es_registro()) $this->incluir('registro.php');
                                }
                                else 
$this->incluir('registro.php');
...
En subir.php:
Código PHP:
<article><?php if(!$this->nombrePagina()) echo 'holamundo'//cuando $this->nombrePagina() devuelve FALSE, escribe 'holamundo', es decir, puedo usar $this
?>
                                    <div class="sus">
                                        <h2>Post nuevo</h2>
...
Ahora bien, en funciones.php:
Código PHP:
<?php
/**
 * Funcion que uso para pasar el arbol y asi simplificar al maximo el codigo en el tema
 * @return string La lista definitiva
 */
function imprimir_categorias(){
    
//global $pag;
    
return recorrerCategoriasPadre($this->crearArbolCategorias()); //no me deja usar $this
}
¿Alguna explicación de por qué no estoy en el contexto adecuado? ¿Por qué me deja usar $this en subir.php, y en funciones.php no, si estan en el mismo nivel?

Gracias
  #18 (permalink)  
Antiguo 12/02/2013, 14:35
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Funciones recursivas no devuelven 'nada'

Cita:
¿Alguna explicación de por qué no estoy en el contexto adecuado?
La función imprimir_categorias() no es un método del objeto en cuestión, y por ende $this no existe dentro.

La función imprimir_categorias() existe en el contexto global, pero dentro de ella el contexto se convierte en local y el ámbito de variables no es el mismo.

En las demás ocasiones dónde si te funciona es justamente por lo que dijo @GatorV antes, si haces el include dentro de un método entonces $this si estará accesible para el contexto global de dicho include, pero no así para las funciones pues dentro de ellas el contexto es otro.

En dado caso en el punto que buscas ejecutar dicha función ahí tienes disponible $this, entonces bien puedes pasar el objeto como argumento.
Código PHP:
imprimir_categorias($this); 
Qué obvio, dentro de la función debes usar el nombre de la variable que contiene al objeto y no $this.
Código PHP:
function imprimir_categorias($objeto){
    return 
recorrerCategoriasPadre($objeto->crearArbolCategorias());

__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #19 (permalink)  
Antiguo 12/02/2013, 15:02
 
Fecha de Ingreso: julio-2011
Mensajes: 62
Antigüedad: 12 años, 8 meses
Puntos: 2
Respuesta: Funciones recursivas no devuelven 'nada'

Tienes razón, esta parece ser la causa. Entonces, entiendo que si antes de usar $this, pongo global $pag, ya me deja. Lo he probado y ya no da ningún error. Gracias por la ayuda.

Ahora no tiene ningún error, pero tampoco devuelve nada :D He hecho dos correcciones las funciones, y ahora que están todavía mejor, siguen sin funcionar.
Código PHP:
/**
 * Funcion que uso para pasar el arbol y asi simplificar al maximo el codigo en el tema
 * @return string La lista definitiva
 */
function imprimir_categorias(){
    global 
$pag;
    return 
recorrerCategoriasPadre($pag->crearArbolCategorias());
}

/**
 * Funcion que recibe un arbol, recorre cada una de las categorias padre y se las
 * da a recorrerCategoriasHijas para que las imprima y recorra sus hijos.
 * @param array Un arbol de categorias
 * @return string El listado de todas las categorias
 */

function recorrerCategoriasPadre($arbol){
    
$html="
        <ul>"
;//empezamos la lista
    
foreach($arbol as $padre){ //por cada padre que haya
            
$html.=recorrerCategoriasHijas($padre); //empezamos a recorrer
    
}
    
$html.="
        <ul>"
;//cerramos la lista
    
return $html//retornamos la lista completa
}

/**
 * Funcion que recorre cada categoria y sus hijos
 * @param array $arbol Un arbol de categorias
 * @return string Lista con cada categoria y sus hijos
 */
function recorrerCategoriasHijas($arbol){
    
//imprimimos la categoria padre en cuestion
    
$html="<li>
                <input type=\"checkbox\" name=\"cb{$arbol[0]['id']}\" id=\"cb{$arbol[0]['id']}\" />
                <label for=\"cb{$arbol[0]['id']}\">{$arbol[0]['nombre']}</label>"
;
    if(isset(
$arbol[1])){//y si tiene hijos
        
for($i=1;$i<count($arbol);$i++){//los recorremos tambien, imprimiendolos
            
$html.="
                <ul>"
;//abrimos una lista anidada
            
$html.=recorrerCategoriasHijas($arbol[$i]);
            
$html.="
                <ul>"
;//la cerramos
        
}
    }
    
$html.="
        </li>"
;//cerramos la categoria padre
    
return $html//retornamos la seccion

Las categorías que lee están en el código del primer mensaje, en el 5º párrafo. El array es iterable, salió exactamente como quería. Además lo acabo de volver a comprobar.
El problema es que no devuelven nada estas 3 funciones.

¿Alguna idea de por qué?
He probado a poner un var_dump del array de categorías que recorre, y si que se imprimen.

Gracias de antemano
  #20 (permalink)  
Antiguo 12/02/2013, 15:04
 
Fecha de Ingreso: julio-2011
Mensajes: 62
Antigüedad: 12 años, 8 meses
Puntos: 2
Respuesta: Funciones recursivas no devuelven 'nada'

Ok, me respondo solo: no puse "echo imprimir_categorias()" al usar la función. Ahora sólo me queda hacer que funcionen bien :D

Muchas gracias a los que habéis participado

Hasta luego!
  #21 (permalink)  
Antiguo 12/02/2013, 15:05
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Funciones recursivas no devuelven 'nada'

Necesitas ir depurando linea por linea, imprime algo dentro de las funciones y después de cada instrucción, si en algún punto no imprime entonces ahí sucede algo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #22 (permalink)  
Antiguo 12/02/2013, 15:12
 
Fecha de Ingreso: julio-2011
Mensajes: 62
Antigüedad: 12 años, 8 meses
Puntos: 2
Respuesta: Funciones recursivas no devuelven 'nada'

Ok, las funciones iban perfectamente, sólo me faltaba poner la barra invertida en los dos [/ul] que hay.
Pondría una imagen de cómo quedó, pero no encuentro como adjuntar una imagen, para poner una imagen aquí hay que subirla a algún servidor?

Última edición por Onedy; 12/02/2013 a las 15:19

Etiquetas: categorias, funciones, lista, nada, recursividad
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:41.