Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php]Ranking powtarzających się słów w pliku txt
Forum PHP.pl > Forum > Przedszkole
m0zgu
Witam,
mam plik txt z formie:
slowo
slowo2
dwa slowa
slowo
slowo
slowo2
dwa slowa
dwa slowa
(kazdy w osobnej linii). Chciałbym z tego zrobić ranking tych słów - tzn usunąć powtarzające się słowa i obok każdego - napisać ilość razy jaką to słowo wystąpiło. Z podanej wyżej listy chciałbym uzyskać plik:
slowo 3
slowo2 2
dwa slowa 3
Czy ktoś miałby pomysł jak można by to zrobić ?
Cysiaczek
Tak. Najprostsza metoda to file" title="Zobacz w manualu PHP" target="_manual, a potem w petli dla każdego słowa wykonać
  1. <?php
  2. $stats=array();
  3. foreach($array as $value)
  4. {
  5. if(!isset($stats[$value]))
  6. {
  7. $stats[$value]=0;
  8. }
  9. $stats[$value]++;
  10. }
  11. ?>


Popraw proszę tytuł topiku na zgodny z zasadami forum Przedszkole

Pozdrawiam.
JaRoPHP
Zamiast tworzyć własny sposób liczenia elementów tablicy (propozycja by ~Cysiaczek), można skorzystać z funkcji array_count_values" title="Zobacz w manualu PHP" target="_manual:
  1. <?php
  2. $file = file('test.txt');
  3. $file= array_map ('trim', $file);
  4. $stats = array_count_values($file);
  5.  
  6. // wydruk statystyk
  7. foreach($stats as $key => $value) {
  8. echo $key . ' ' . $value . "<br />\n";
  9. }
  10. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.