Удаление повторяюшихся строк в фаиле

Статус
В этой теме нельзя размещать новые ответы.

sakon

П..и.н..ок
2 реальных компании Samsung и Soosung - 71% ;)
Почуствуйте разницу..
 

Sk

Новичок
Автор оригинала: Фанат
не майся дурью
во блин ну так бы исказали что не желаете помочь, но если есть задача то надо её решить насколько бы глупа она не была... блин значит парился зря... а скрипт то логически хоть правельный?

-~{}~ 24.11.05 22:59:

Автор оригинала: sakon
2 реальных компании Samsung и Soosung - 71% ;)
Почуствуйте разницу..
мне надо чтоб схожесть он устанавливал по совпадению слов а не букв
 

sakon

П..и.н..ок
А тебе разьве не помогли? Ты разьве не получил то, что ты хотел?
 

Sk

Новичок
sakon
нет, задаче не решена значит не помогли
Фанат
ну если на то уже разговор пошёл, выже сказали что эта задача невыполнима...так?
 

Фанат

oncle terrible
Команда форума
я не сказал, что она невыполнима.
я сказал две вещи.
1. Я считаю, что данная задача - глупость, высосанная из пальца.
2. Я обратил внимание на твои слова, про то, что задачу надо решать. И резонно заметил, что сам ты можешь решать какие угодно задачи, если тебе приспичило, но вот со словом "надо" сюда ходить не надо. Здесь твои глупости никому не "надо".
 

Sk

Новичок
Фанат
ну да всё правельно, но можете хоть поставить на путь истинный а то так можно 100 лет по пустыни ходить и ненайти ответа...
 

Aidan Pride

Новичок
Если база запросов-не проще ли при появлении нового запроса сверять его с уже имеющимися и тогда записывать\не записывать?
 

Sk

Новичок
Автор оригинала: Aidan Pride
Если база запросов-не проще ли при появлении нового запроса сверять его с уже имеющимися и тогда записывать\не записывать?
Не новость я это уже предусмотрел, но база уже нахватала повторяюшихся запросов до того как эту проверку я добавил в код вот и необходимо произвести чистку а создавать заново не хочу неделю потратил на сбор данных...
 

Steamroller

Новичок
Sk, так у тебя с чем проблема - с определением "похожести" для двух строк, или же с удалением похожих, а определять ты уже нормально можешь?
 

_RVK_

Новичок
>я это уже предусмотрел

Так ты решил задачу?

Кстати, удалить элемент массива [m]unset[/m]
 

Sk

Новичок
Мне надо чтоб скрипт прочитал строки в фаиле и удалил строки с определённым процентом похожести...
 

_RVK_

Новичок
>я это уже предусмотрел, но база уже нахватала повторяюшихся запросов до того как эту проверку я добавил в код

Отсюда следует что проверку ты уже сделал. Проблема удалить строки?
 

Sk

Новичок
Автор оригинала: _RVK_
>я это уже предусмотрел, но база уже нахватала повторяюшихся запросов до того как эту проверку я добавил в код

Отсюда следует что проверку ты уже сделал. Проблема удалить строки?
Я зделал проверку:
не записывать запросы которые уже есть в базе с определённым процентом похожести, а мне надо просто почистить базу сейчас.
Написал вот этот код но он не работает:(
PHP:
<? 
$fl = "base.txt"; 
$file = file($fl); 
for ($i=0; $i < count($file); $i++)  
{ 
 for ($k=$i+1; $k < count($file); $k++)  
 { 
  similar_text($file[$i],$file[$k],&$rez); 
  if ($rez >= 30)  
  {  
   $line = $i; 
   $count = count($file); 
   $fp = fopen($fl,"w"); 
   for($i=0;$i<$count;$i++)  
   { 
     if($i!=$line-1)  
     { 
       fwrite($fp,$file[$i]);  
     }  
   } 
   fclose($fp); 
  }  
 }  
} 
?>
 

_RVK_

Новичок
1. Читаешь файл в массив.
2. Берешь первый элемент массива
3. Сравниваешь со всеми
4. Удаляешь похожие
5. берешь второй элемент
...
n. Записываешь полученный результат в файл.
 

Sk

Новичок
Автор оригинала: _RVK_
1. Читаешь файл в массив.
2. Берешь первый элемент массива
3. Сравниваешь со всеми
4. Удаляешь похожие
5. берешь второй элемент
...
n. Записываешь полученный результат в файл.
Интересно, а я как делал?!:), алгоритм я знаю, ну написал, а не фурычит что-то может посмотришь код (см. выше) и скажешь в чём ошибка... плиз
 

_RVK_

Новичок
Где у меня написано записываешь в файл в цикле? Я сказал удаляешь элемент из массива, не так ли?

В дополнение пройти по массиву можно циклом foreach. Удалить элемент массива unset

PHP:
foreach ($file as $key=>$val) {
   if (similar_text($curent_element, $val) > 30) {
          unset($file[$key]);
   }
}
Примерно так.
 

Sk

Новичок
Автор оригинала: _RVK_
Где у меня написано записываешь в файл в цикле? Я сказал удаляешь элемент из массива, не так ли?

В дополнение пройти по массиву можно циклом foreach. Удалить элемент массива unset

PHP:
foreach ($file as $key=>$val) {
   if (similar_text($curent_element, $val) > 30) {
          unset($file[$key]);
   }
}
Примерно так.
ууу, интересно:) спасибки надо подумать только не закрывай тему мож ещё вопросы появятся. Просто понимаешь не люблю я это грязное дело (массивы) и стараюсь их всячески избегать...
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху