[ Foro de PHP ]
Mediante un foreach obtengo el resultado de una consulta correspondiente a 1 solo día .. donde agrupo por el campo hora , de 0 a 23, y obtengo un count de los ingresos. Necesito crear un nuevo array donde se guarden , de 0 a 23 , cada movimiento, completando los intermedios que no arrojan valores con 0 ó con valores por defecto.
Como muestro mas abajo ... de la forma que pude hacer y no funciona ... hace 1 ciclo por cada registro , y eso genera que se reasignen las posiciones en cero y que solo quede guardado el registro de la ultima pasada.
foreach ($ingresos as $row) {
$hora = intval(substr($row->hora, 0, 2));
for ($i = 0; $i < 24; $i++) {
if ($row->hora >= 0 && $row->hora <= 4) {
$fecha_prod = strtotime('-1 day', strtotime($row->fecha));
$fecha_prod = date('Y-m-d', $fecha_prod);
}else{
$fecha_prod = $row->fecha;
}
if ($hora == $i) {
$data = [
'fp' => $fecha_prod,
'fecha' => $row->fecha,
'hora' => $hora,
'nuevos' => $row->ingresos,
'cuenta' => $i . " = " . $hora
];
var_dump($data);
}else{
$data = [
'fp' => $row->fecha,
'fecha' => $row->fecha,
'hora' => $i,
'nuevos' => $xx,
'cuenta' => $i . " = " . $hora
];
var_dump($data);
}
}
Alguien que me pueda dar una mano ?
Gracias !!
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)