13/10/2010, 10:29
|
| | Fecha de Ingreso: octubre-2010
Mensajes: 4
Antigüedad: 14 años, 2 meses Puntos: 0 | |
Problema al leer un arreglo bidimensional <?php
// Test CVS
require_once 'Excel/reader.php';
// ExcelFile($filename, $encoding);
$data = new Spreadsheet_Excel_Reader();
//Variable $data la lectura del archivo .xls solicitado
$data->read('prueba.xls');
//Error que se muestra en caso de que el archivo .xls no pueda ser leido
error_reporting(E_ALL ^ E_NOTICE);
//Se lee el archivo .xls, se leen primero las filas
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
//Aqui se leen las columnas que contiene cada fila
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
//Cuando la variable j es igual a 3 para cada fila se empieza a hacer una sumatoria de las hectares
//y del total de la población, ya que se tiene el total de dichas variables se divide la poblacion
//entre las hectareas para obtener la constante de densidad
if ($j == 3){
$tot_hect= $tot_hect + $data->sheets[0]['cells'][$i][2];
$tot_pob=$tot_pob + $data->sheets[0]['cells'][$i][3];
$const_densidad=$tot_pob/$tot_hect;
}
}
}
//Nuevamente se leen las filas del archivo .xls
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
//Se leen las columnas que contiene cada fila
for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
//Las variables $a y $b forman las filas y columnas del $arreglo2 donde se guardaran las hectareas,
//la poblacion, la densidad y el icpr
$a=$i-1;
$b=$j-1;
$arreglo2[$a][$b]=$data->sheets[0]['cells'][$i][$j];
//Cuando la variable $b llegue al ser igual a 2 entonces hara la operacion para obtener
//la densidad y una vez obtenida la densidad se hara la operacion para obtener el icpr
if ($b==2){
$c=3;
//Obtencion de la densidad
$arreglo2[$a][$c]=$arreglo2[$a][2]/$arreglo2[$a][1];
$d=$c+1;
//Obtencion del icpr
$arreglo2[$a][$d]=$arreglo2[$a][$c]/$const_densidad;
}
}
} Necestiro recorrer el $arreglo2, cuando lo recorro me marca que el tiempo se a agotado y mi navegador se bloquea, espero me puedan ayudar me urge mucho.
Espero alguien me pueda dar una solución for ( $a=0; $a <= 0; $i++){
for ($b=0; $b<=4; $b++){
echo $arreglo2[$a][$b];
}
}
?> |