Ver Mensaje Individual
  #3 (permalink)  
Antiguo 31/05/2014, 05:51
Avatar de Triby
Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: simular count group by para un array

Dudo que el for funcione con fechas como cadena, es mejor si lo haces con timestamp, que es numérico:

Código PHP:
Ver original
  1. $inicio = strtotime('2014-05-26');
  2. $fin = strtotime('2014-05-30');
  3. // Creas un array para los acumulados
  4. $acums = array();
  5.  
  6. // Llenas el array de acumulados, primero las claves
  7. for($x = 1; $x <= 11; $x ++) {
  8.     $clave = ($x < 10) ? "0$x" : "$x";
  9.     $acums[$clave] = array();
  10.     // Luego las fechas: (86400 = 1 día)
  11.     for($i = $incio; $i <= $fin; $i += 86400) {
  12.            $fecha = date('Y-m-d', $i);
  13.            $acums[$clave][$fecha] = 0;
  14.     }
  15. }
  16.  
  17. // Ahora recorres los items para sumar en $acums
  18. foreach($items as $item) {
  19.      // Estas variables son solo para que quede legible
  20.      $clave = $item['clave'];
  21.      $fecha = $item['fecha'];
  22.      // Incrementas el acumulado
  23.      $acums[$clave][$fecha] ++;
  24. }
  25.  
  26. // Ya quedó más o menos lo que necesitas
  27. var_dump($acums);

No sé si necesites realmente tener todo en una variable o solo quieras mostrarlo; incluso, si estás obteniendo la información desde base de datos, seguramente puede simplificarse desde la consulta.

Sin embargo, con la poca información que proporcionas, es difícil sugerir algo mejor.
__________________
- León, Guanajuato
- GV-Foto