как считать похожие слова в столбце

У меня есть файл CSV и хотелось бы пересчитать повторяющиеся слова в столбце из 9000 строк.

пример файла
благодаря
ОК
хороший
благодаря
хороший
благодаря

требуемый результат был бы чем-то вроде

thanks = 3, ok = 1, nice = 2.

Я нашел следующий PHP-код, но я не мог заставить его работать, и скопировал содержимое CSV-файла в file.txt Я делаю что-то неправильно?

 <?php $file = (''C:\Users\wnmb4793\Desktop\Test\file.txt''); $fh = fopen($file, 'rb'); $tag = array(); while($col = fgetcsv($fh)) { if (isset($tag[$col[2]])) { $tag[$col[2]]++; } else { $tag[$col[2]] = 1; } ?> 

Solutions Collecting From Web of "как считать похожие слова в столбце"

Всего несколько ошибок. Ваш код работает.

 $file = 'C:\Users\wnmb4793\Desktop\Test\file.txt'; $fh = fopen($file, 'rb'); $tag = array(); while($col = fgetcsv($fh)) { $value = $col[0]; // change 0 to column number you need, 0 - first if ( isset($tag[$value]) ) $tag[$value]++; else $tag[$value] = 1; } print_r($tag); 

результат:

 Array ( [thanks] => 3 [ok] => 1 [nice] => 2 ) 

Первая проблема, которую я вижу, такова:

  $file = (''C:\Users\wnmb4793\Desktop\Test\file.txt''); 

Должно быть

  $file = ('C:\Users\wnmb4793\Desktop\Test\file.txt'); 

Следующий шаг

Вам нужно прокрутить каждое слово в файле. Что-то вроде:

 while we are not at the end of the file. if( we have seen this word before ) // Think about the isset() method. find it's entry and add one to it's value else add a new entry, and set it's value to 1. end while 

Я дал вам псевдокод. Теперь превратите его в PHP! 🙂