Ver Mensaje Individual
  #14 (permalink)  
Antiguo 10/08/2011, 09:58
Avatar de vgonga1986
vgonga1986
 
Fecha de Ingreso: marzo-2008
Ubicación: País de Pandereta
Mensajes: 1.021
Antigüedad: 16 años, 1 mes
Puntos: 253
Respuesta: Optimizar el recorrido de un Arrays PHP

Vale, ves, así mucho más sencillo.

Tu bucle for itera sobre el array encabezado, que tiene todos los valores del año, desde $i=1 hasta $i=12. Y luego llamas a los otros dos arrays pensando que también tienen todos los valores, ya que el isset lo haces sobre el valor del array en la posición $i. Obviamente, los arrays no tienen los mismos valores, luego no te vale así.

La idea es que tienes que buscar dentro del array por el contenido, no por el índice. Te pongo un ejemplo rápido que lo entiendes bien, para la primera iteración de tu bucle tienes lo siguiente:
for ($i = 1; $i <= count($encabezado); $i++) {
Código:
- $i = 1
- $encabezado[$i] = Array ( [0] => 01 [1] => 2020 )
    - $encabezado[$i][0] = 01
    - $encabezado[$i][1] = 2020
- $calcularA[$i] = Array ( [Ano_Semana] => 2020 [Mes_Semana] => 1 [Horas] => 344 )
    - $calcularA[$i]['Ano_Semana'] = 2020
    - $calcularA[$i]['Mes_Semana'] = 1
    - $calcularA[$i]['Horas'] = 344
- $calcularP[$i] = Array ( [Ano_Semana] => 2020 [Mes_Semana] => 3 [Horas] => 112 )
    - $calcularP[$i]['Ano_Semana'] = 2020
    - $calcularP[$i]['Mes_Semana'] = 3
    - $calcularP[$i]['Horas'] = 112
Luego, no puedes sumar las horas de $calcularP[$i]['Horas'] con las de $calcularA[$i]['Horas'], porque estás sumando las de Enero de calcularA con las de marzo de calcularP.

No sé si me sigues. Un saludo.
__________________
¿Alguna pregunta, duda, acotación, nota, cuestión, reparo, comentario, demanda, crítica, interpretación, objeción, interrogante, discrepancia, observación, réplica, disquisición, apostilla o exégesis?