|
|
|
| Считываю файл построчно, строки заносятся в базу.
Каждая третья строка проверяется на условие (существование в базе). Если оно выполянется, то требуется перейти к следующей третьей строке (т.е. перепрыгнуть две строки).
Подскажите как это можно осуществить.
<?php i = 0
while ($line=fgets($dict)) {
$i++;
switch ($i)
{
case 1:
if (check($line)) ????????????? else ?????????????
$insert1 = $line;
break;
case 2:
$insert2 = $line;
break;
case 3:
$insert3 = $line;
add($insert1,$insert2,$insert3);
$i = 0;
break;
}
}?>
|
| |
|
|
|
|
|
|
|
для: Qiao
(26.01.2008 в 22:14)
| | А если не выполняется? Какие строки заносить в базу? В какой последовательности? | |
|
|
|
|
|
|
|
для: Qiao
(26.01.2008 в 22:14)
| | Что бы было проще можно воспользоваться функцией file
http://softtime.ru/dic/id_dic=176&id_group=6 . Потом прокручиваем массив в цикле, если строка повторилась увеличиваем номер строки и т.д. | |
|
|
|
|
|
|
|
для: constructor
(26.01.2008 в 22:28)
| | Так же хотел предложить. Сделать Цикл, внутри которого можно перескакивать на 3 индекса. | |
|
|
|
|
|
|
|
для: AVS
(26.01.2008 в 22:38)
| | > А если не выполняется? Какие строки заносить в базу? В какой последовательности?
А если не выполняется следует перейти к слудеющей проверке (т.е. в базу ничего не заносится, а если выполняется, то всё заносится).
Это словарь - если такое слово уже есть, то его и его чтение и перевод заносить не надо, переходим к проверке следующего слова.
Я придумал как в моём коду можно - просто в холостую прокрутить две строки:
<?php
case 1:
if (z==1) {z++; i=0; break;}
if (z==2) {z=0; i=0; break;}
if (check($line)) {z = 1; i=0; break;}
$insert1 = $line;
break;
?>
|
| |
|
|
|
|
|
|
|
для: Qiao
(26.01.2008 в 23:06)
| | что-то у Вас сложновато как-то...
<?
for(;;)
{
if( !($line1 = fgets($f))
|| !($line2 = fgets($f))
|| !($line3 = fgets($f)) )
break;
if(check($line1))
add($line1, $line2, $line3);
}
|
или даже
<?
while( $line1 = fgets($f)
and $line2 = fgets($f)
and $line3 = fgets($f) )
if(check($line1))
add($line1, $line2, $line3);
|
| |
|
|
|
|
|
|
|
для: Trianon
(26.01.2008 в 23:09)
| | Во! Вот это хорошая система.
Я не задумывался, что с fgets($f) так мутить можно.
И использование for(;;) тоже первый раз вижу.
Спасибо. | |
|
|
|
|
|
|
|
для: Qiao
(26.01.2008 в 23:18)
| | Если строить цикл по перечисленным в файле описаниям (а не в лоб - по строкам), такой код рисуется сам собой - ничего мутить не придется.
while здесь более уместен. | |
|
|
|
|
|
|
|
для: constructor
(26.01.2008 в 22:28)
| | А если файл в память не полезет? | |
|
|
|