[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: switch + continue
Лена
Есть скрипт, который пишет данные в excel-файл.
Какие-то строки заполняются "вручную"(первый switch) - т.е.в зависимости от case данные помещаются в определенную ячейку столбца, какие-то данные вставляются в цикле(второй switch).
Вопрос такой: почему когда ставишь в первом switch одно continue - проскакивает, если continue 2; - исполняется, как надо.
Объясните, пожалуйста, построчно, там, где continue 2; что происходит в коде.

Привожу кусок, который касается сути дела:

//записи из БД
while(!$rs2->EOF)
{
$row2++;
$col2 = 0;
for($i = 0; $i < sizeof($flds2); $i++)
{ //номер строки с данными
switch($i)
{
case 0:
$worksheet1->write_number($row2, 16, 16, $format_num);
$col2++;
continue 2;
break;
//здесь другие case
case 17:
$worksheet1->write_string($row2, 17,$cod4, $format_num);
$col2++;
continue 2;
break;
}

// Учитываем тип данных
switch($tips2[$i])
{
case 0:
case S_INTEGER:
case S_FLOAT:
$val = $rs2->fields[$i];
$worksheet1->write_number($row2, $col2++, number_format($val,3,',',' '),$format_num);
break;
case S_TEXT:
$val = $rs2->fields[$i].' ';
$worksheet1->write_string($row2, $col2++, $val);
break;
default:
$worksheet1->write_string($row2, $col2++, ''.$rs2->fields[$i].' ',$format_str);
}

}

$rs2->MoveNext();
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.