Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/11/2018, 02:40
tanatos_neon
 
Fecha de Ingreso: enero-2010
Mensajes: 63
Antigüedad: 14 años, 3 meses
Puntos: 7
Pregunta Error en return de funcion

Buenas gente.
Ando liado con un proyecto y no consigo que me haga un return correcto, y ya me parece raro.

El proceso es simple, lo pongo comentado en el php. Tiene tantas funciones porque me faltan procesos, me quede pillado con esto.

Código PHP:
class email {
//Funcion global
    
public static function gestoria(){
        return 
email::sabertodos();
    }
    
    protected static function 
sabertodos(){
//PREGUNTO SI EN EL DÍA DE HOY HAY ALGO EN BBDD he puesto esa fecha como ejemplo, pero ira un date();
        
$c = new tabla('email','status=0 AND tipo="gestoria" AND send="2018-12-20"');
        foreach(
$c->Select(true) as $e) {
            if(
$e) {
//SI ES ASI, ENVIO ID_ID Y FECHA
                
$valor email::manana($e['id_id'],$e['fecha']);
            }
        }
        
var_dump($valor); //NO LLEGA NADA
        
return $valor;
    }
    
    protected static function 
manana($id,$date,$valores=NULL) {
//PREGUNTAMOS SI ES ID Y ESA FECHA TIENEN VALORES
        
$c = new tabla('email','status=0 AND tipo="gestoria" AND id_id='.$id.' AND fecha="'.$date.'"');
        
$b $c->Select();

        if(
$b['fecha']) {
//SI ES QUE SI CONTINUAMOS
//AGREGAMOS VALOR DE ESA FECHA AL ARRAY
            
$valores[$id][] = $date;
//CALCULAMOS EL DÍA SIGUIENTE
            
$fecha strtotime('+1 day',strtotime($b['fecha']));
            
$fechan date('Y-m-d',$fecha);
//VOLVEMOS A PREGUNTAR LA MISMA FUNCION
            
email::manana($id,$fechan,$valores);
            exit();
        } else {
//SI YA NO HAY MÁS FECHA, DEVOLVEMOS (AQUI ESTA EL PROBLEMA)
            
var_dump($valores); //LO QUE IMPRIME
            
return $valores;
        }
    }
}

email::gestoria(); 
La base de datos EMAIL solo tiene esto por ahora.

Código:
id=1,status=0,send="2018-12-20",tipo="gestoria",id_id=1,fecha="2018-12-24";
id=2,status=0,send="2018-12-21",tipo="gestoria",id_id=1,fecha="2018-12-25";
id=3,status=0,send="2018-12-21",tipo="gestoria",id_id=1,fecha="2018-12-26";
id=4,status=0,send="2018-12-26",tipo="gestoria",id_id=1,fecha="2018-12-29";
El resultado que tengo en pantalla. Que esta guay, pero si lo paso por un return ya no vuelve nada.
Código HTML:
array(1) {
  [1]=>
  array(3) {
    [0]=>;
    string(10) "2018-12-24"
    [1]=>
    string(10) "2018-12-25"
    [2]=>
    string(10) "2018-12-26"
  }
}
Lo que busco es que me diga si al día siguiente tambien tiene registro, asi una tras otra hasta que diga que no. Y todas esas fechas las guarde en un array.

Agradezco toda ayuda.
__________________
Manz Soluciones On/Off