Loop Help в PHP - PullRequest
       24

Loop Help в PHP

0 голосов
/ 18 ноября 2011

Я создал следующий цикл

$x=1;
while($x<=$excel->sheets[0]['numRows'])
{
  $y=1;
  while($y<=$excel->sheets[0]['numCols'])
  {
    isset($excel->sheets[0]['cells'][$x][$y])? $excel->sheets[0]['cells'] [$x][$y] : '';
    $y++;

    $a1 = $excel->sheets[0]['cells'][$x][3];
    $a2 = $excel->sheets[0]['cells'][$x][4];
    $a3 = $excel->sheets[0]['cells'][$x][5];
    //some code to store above variables a1, a2, a3 and give the output
  }
  $x++;
}

Пояснение к коду:

Приведенный выше код читает лист Excel и сохраняет значения и работает, например, так, например, доступ к ячейке в строке 5 и столбце C осуществляется с использованием обозначения $ obj-> sheet [0] ['cell'] [5 ] [3]. В Excel каждая строка соответствует одной записи и каждому столбцу связаны метаданные.

Теперь я попытался загрузить все метаданные для соответствующей записи как одну итерацию, но приведенный выше код рассматривал каждую строку и каждый столбец как одну запись. Вместо того, чтобы рассматривать всю строку как одну запись.

Что я сделал не так в приведенном выше коде?

Ответы [ 2 ]

0 голосов
/ 18 ноября 2011

Вы захватываете столбцы 3, 4 и 5 numCols раз.Возможно

$a1 = $excel->sheets[0]['cells'][$x][3] ;
$a2 = $excel->sheets[0]['cells'][$x][4];
$a3 = $excel->sheets[0]['cells'][$x][5];

должно быть во внешнем цикле.

0 голосов
/ 18 ноября 2011
$x=1;
while($x<=$excel->sheets[0]['numRows'])
{
  $y=1;
  while($y<=$excel->sheets[0]['numCols'])
  {
    $cell = isset($excel->sheets[0]['cells'][$x][$y]) ? $excel->sheets[0]['cells'] [$x][$y] : '';
    //some code to store $cell variable and give the output 
    $y++;
  }
  $x++;
}

или ...

$x=1;
while($x<=$excel->sheets[0]['numRows'])
{
  $a1 = $excel->sheets[0]['cells'][$x][3] ;
  $a2 = $excel->sheets[0]['cells'][$x][4];
  $a3 = $excel->sheets[0]['cells'][$x][5];
  //some code to store above variables a1, a2 , a3 and give the output 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...