![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 19 Pomógł: 0 Dołączył: 19.03.2007 Skąd: Dąbrowa Górnicza, Kraków Ostrzeżenie: (0%) ![]() ![]() |
Potrzebuje napisac dwa skrypty ktore beda liczyly mode (wyraz ktory najczesciej wystepuje) i mediane ( ten co jest w samym srodku) i nie wiem jak to napisac. Pomoże ktos?
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Bo w ten sposób stworzy listę UNIKALNYCH słów w tekście całym. Najlepiej jeszcze wcześniej potraktować je funkcja konwerstującą wszystkie do lowercase by "jakoś" było uznane za to samo co "Jakoś".
A więc lecąc od początku. Przyjmując za $text całość tekstu: 1) preg_replace wszystkich znaków interpunkcyjnych na pusty w $text i dla pewności zamiana wszelkich wielokrotnych spacji na pojedynczą też wyrażeniem regularnym, a już dla kompletności trim i strtolower. 2) explode $text do tablicy $array_text po spacji 3) $unique jako wynik array_unique na $array_text 4) ten krok można rozwiązać na kilka sposobów bo algorytmów zliczania na tę chwile już kilka wymyśliłem, ale podam tu dwa ver. 1) array_keys na "oczyszczonym" $text z punktu 1) używając każdego elementu z $unique a potem count() na owym wyniku i wpis do tablicy ver. 2) posortowanie $array_text i tak posortowana zmienna już łatwo może posłużyć do liczenia. Jeden przebieg w pętli foreach z if dodającym 1 do aktualnego słowa lub zamieniającym na nowe z licznikiem równym 1 Tak czy inaczej ważne by tworzyć tablicę par "słowo" => ilość_wystąpień 5) Posortowanie tablicy według wartości. 6) Tego chyba nie muszę już tłumaczyć? I niech mi ktoś jeszcze napisze, że tego nie rozumie bo chyba ugryzę (IMG:style_emoticons/default/biggrin.gif) Nie można już prościej wytłumaczyć (IMG:style_emoticons/default/smile.gif) Do odczytu xls trzeba napisać albo własny parser albo szukać gotowców (http://sourceforge.net/projects/phpexcelreader/, http://www.tutorials.pl/2009/02/php-excel-...der-generator/). Więcej chyba już nie powinno Ci być potrzebne do napisania. Ten post edytował thek 16.01.2010, 18:59:24 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 5.10.2025 - 01:22 |