Задача № 1 – «Словарь»

У вас есть большой текстовый файл. Пример: Мама мыла раму, маме мыла мало. Вам нужно создать словарь, в котором будет список всех возможных слов из файла и сколько раз оно там присутствует. Пример: мама: 1 мыла: 2 раму: 1 маме: 1 мало: 1

Но есть особые условия:

  1. Нужно реализовать только средствами php
  2. Файл очень велик. Он в сотни раз превосходит объём доступной памяти для скрипта.
  3. Памяти даже не хватит чтобы держать в ней весь словарь – допустим вы можете держать не более 1000 слов одновременно.

Алгоритм реализации

Скрипт читает файл побайтово. Подсчитывая и сохраняя в памяти подсчет, но при подсчете можно указать в константу MAX_WORDS_IN_MEMORY максимальное количество слов которое можно держать в памяти. Если количество слов в памяти превышает MAX_WORDS_IN_MEMORY то резултат подсчета сохраняется в кэширующий файл.