Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


Информационный Канал Subscribe.Ru

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 81
от 08.06.2005, 14:00

Администратор:Калашников О.А.
В номере:Вопросов: 1, Ответов: 3


Вопрос № 21672: Привет всем! Возникла следующая задача. Существует файл, в котором записано большое количество строк. При этом известно, что многие строки могут повторятся, причём большое количество раз (10 и более). Требуется определить все РАЗНЫЕ строки и коли...

Вопрос № 21.672
Привет всем!
Возникла следующая задача. Существует файл, в котором записано большое количество строк. При этом известно, что многие строки могут повторятся, причём большое количество раз (10 и более). Требуется определить все РАЗНЫЕ строки и количество нахождений каждой из них в файле. Заранее благодарен.

Приложение:

Отправлен: 02.06.2005, 16:38
Вопрос задала: Ерёмин Андрей (статус: 5-ый класс)
Всего ответов отправлено: 3

Отвечает: Сажин Владимир Сергеевич
Здравствуйте, Master89!
Мой скрипт анализирует файл strings.txt, ищет повторяющиеся строки.
Если строка повторяется 2 или более раз, строка и количество повторений заносится в массив $rep_strings.
Если строка не повторяется, она заносится в массив $non_rep_strings.
Данные выводятся в виде таблицы.

Приложение:

Ответ отправил: Сажин Владимир Сергеевич (статус: 2-ой класс)
Отправлен: 02.06.2005, 19:26
Оценка за ответ: 5
Комментарий оценки:
Отлично! То, что нужно! Большое спасибо!
Хммм... Только что столкнулся с функцией array_unique() - не это ли мне нужно было? ;)

Отвечает: gp
Здравствуйте, Master89!
Можно использовать такой алгоритм:
Функция(1) получает содержимое файла, читает первую строку и ищет по файлу идентичную.
Не найдя, пишет в конец файл вывода эту строку, удаляет ее из исходного файла и этот "уменьшенный" файл передает самой себе(рекурсия).
Найдя, вызывает функцию(2), которая получает эту НЕУникальную строку и содержимое файла, и удаляет все вхождения строки в файл. И "вычещенный" файл возвращает функции (1).
.....................................
Функция (1) заканчивает работу, когда в получаемом файле остается 0 или 1 строк, т.е. это условие должно постоянно проверяться.
А в файле вывода остается то, что вы хотели.

Приложение:

Ответ отправил: gp (статус: Профессионал)
Отправлен: 02.06.2005, 20:02
Оценка за ответ: 4
Комментарий оценки:
За алгоритм спасибо, но хотелось бы реальный код.

Отвечает: Andrewkz
Здравствуйте, Master89!
Могу помочь в логике... код писать некогда..
открываешь файл, читаешь его в переменную,
потом переменную парсишь в массив напр.
$arr = explode(" ", $var);
Затем в массиве ищешь все элементы и смотришь сколько их там...
Ответ отправил: Andrewkz (статус: 2-ой класс)
Отправлен: 03.06.2005, 13:08
Оценка за ответ: 3


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2005, RusFAQ.ru, Россия, Москва. Все права защищены.
Идея, дизайн, программирование, авторское право: Калашников О.А.

Яндекс


Subscribe.Ru
Поддержка подписчиков
Другие рассылки этой тематики
Другие рассылки этого автора
Подписан адрес:
Код этой рассылки: comp.soft.prog.phpplus
Отписаться
Вспомнить пароль

В избранное