Mmh, ahora que lo mencionas, lo que veo es que estás asignando a cada elemento del array, otro array, y luego más abajo, comparas estos elementos contra un valor que no es array (el día del mes, creo):
Código PHP:
if(!array_key_exists($row_tabla1['dia'], $array4)){
$array4[$row_tabla['dia']]=array();
}
Código PHP:
if(in_array($cuenta_tareas[$i],$array4))
Te sugiero que te decidas a cómo realizar la asignación de valores, para ejecutar la comparación pertinente, ya que ahora estás mezclando peras con manzanas ^^
Por ejemplo, si quieres mantener la comparación como está, debieras modificar la asignación de $array4, a algo así:
Código PHP:
if(!in_array($row_tabla1['dia'], $array4)){
$array4[] = $row_tabla['dia'];
}
Ahora, si quieres mantener la forma que tienes asignada (creando claves, no valores) del $array4, tendrás que modificar la comparación:
Código PHP:
if(array_key_exists($cuenta_tareas[$i],$array4))
Saludos!