m0zgu
13.08.2007, 15:20:14
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
13.08.2007, 15:32:59
Tak. Najprostsza metoda to
file" title="Zobacz w manualu PHP" target="_manual, a potem w petli dla każdego słowa wykonać
<?php
foreach($array as $value)
{
if(!isset($stats[$value])) {
$stats[$value]=0;
}
$stats[$value]++;
}
?>
Popraw proszę tytuł topiku na zgodny z zasadami forum Przedszkole Pozdrawiam.
JaRoPHP
13.08.2007, 21:08:29
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:
<?php
$file = file('test.txt');
// wydruk statystyk
foreach($stats as $key => $value) {
echo $key . ' ' . $value . "<br />\n"; }
?>