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

  • Автор темы Автор темы Sk
  • Дата начала Дата начала
Статус
В этой теме нельзя размещать новые ответы.
2 реальных компании Samsung и Soosung - 71% ;)
Почуствуйте разницу..
 
Автор оригинала: Фанат
не майся дурью
во блин ну так бы исказали что не желаете помочь, но если есть задача то надо её решить насколько бы глупа она не была... блин значит парился зря... а скрипт то логически хоть правельный?

-~{}~ 24.11.05 22:59:

Автор оригинала: sakon
2 реальных компании Samsung и Soosung - 71% ;)
Почуствуйте разницу..
мне надо чтоб схожесть он устанавливал по совпадению слов а не букв
 
А тебе разьве не помогли? Ты разьве не получил то, что ты хотел?
 
sakon
нет, задаче не решена значит не помогли
Фанат
ну если на то уже разговор пошёл, выже сказали что эта задача невыполнима...так?
 
я не сказал, что она невыполнима.
я сказал две вещи.
1. Я считаю, что данная задача - глупость, высосанная из пальца.
2. Я обратил внимание на твои слова, про то, что задачу надо решать. И резонно заметил, что сам ты можешь решать какие угодно задачи, если тебе приспичило, но вот со словом "надо" сюда ходить не надо. Здесь твои глупости никому не "надо".
 
Фанат
ну да всё правельно, но можете хоть поставить на путь истинный а то так можно 100 лет по пустыни ходить и ненайти ответа...
 
Если база запросов-не проще ли при появлении нового запроса сверять его с уже имеющимися и тогда записывать\не записывать?
 
Автор оригинала: Aidan Pride
Если база запросов-не проще ли при появлении нового запроса сверять его с уже имеющимися и тогда записывать\не записывать?
Не новость я это уже предусмотрел, но база уже нахватала повторяюшихся запросов до того как эту проверку я добавил в код вот и необходимо произвести чистку а создавать заново не хочу неделю потратил на сбор данных...
 
Sk, так у тебя с чем проблема - с определением "похожести" для двух строк, или же с удалением похожих, а определять ты уже нормально можешь?
 
>я это уже предусмотрел

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

Кстати, удалить элемент массива [m]unset[/m]
 
Мне надо чтоб скрипт прочитал строки в фаиле и удалил строки с определённым процентом похожести...
 
>я это уже предусмотрел, но база уже нахватала повторяюшихся запросов до того как эту проверку я добавил в код

Отсюда следует что проверку ты уже сделал. Проблема удалить строки?
 
Автор оригинала: _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); 
  }  
 }  
} 
?>
 
1. Читаешь файл в массив.
2. Берешь первый элемент массива
3. Сравниваешь со всеми
4. Удаляешь похожие
5. берешь второй элемент
...
n. Записываешь полученный результат в файл.
 
Автор оригинала: _RVK_
1. Читаешь файл в массив.
2. Берешь первый элемент массива
3. Сравниваешь со всеми
4. Удаляешь похожие
5. берешь второй элемент
...
n. Записываешь полученный результат в файл.
Интересно, а я как делал?!:), алгоритм я знаю, ну написал, а не фурычит что-то может посмотришь код (см. выше) и скажешь в чём ошибка... плиз
 
Где у меня написано записываешь в файл в цикле? Я сказал удаляешь элемент из массива, не так ли?

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

PHP:
foreach ($file as $key=>$val) {
   if (similar_text($curent_element, $val) > 30) {
          unset($file[$key]);
   }
}

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

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

PHP:
foreach ($file as $key=>$val) {
   if (similar_text($curent_element, $val) > 30) {
          unset($file[$key]);
   }
}

Примерно так.
ууу, интересно:) спасибки надо подумать только не закрывай тему мож ещё вопросы появятся. Просто понимаешь не люблю я это грязное дело (массивы) и стараюсь их всячески избегать...
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху