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();
Código:
El resultado que tengo en pantalla. Que esta guay, pero si lo paso por un return ya no vuelve nada.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";
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" } }
Agradezco toda ayuda.