Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Zliczanie częstości występowania słowa w ciągu
-lukasamd-
post
Post #1





Goście







Witam,
chciałbym w jakiś sposób zliczyć, ile razy dane słowo zostało użyte w badanym ciągu.
Skonstruowałem sobie coś, co działa jak chciałem:

  1. <?php
  2. $ciag = 'to jest testowa wartosc testowej testowej wartosci wartosci wartosci wartosci';
  3. $tablica = explode(' ', $ciag);
  4.  
  5. $nowa = $tablica;
  6.  
  7. // Tablice czestotliwosciowe
  8. $czestosc = array();
  9. $czestosc2 = array();
  10.  
  11. // Podwojna petla sprawdzajaca czestosc wystepowania
  12. foreach($tablica as $wartosc) {
  13.  
  14.  foreach($nowa as $val2) {
  15.    if($val2 == $wartosc)  {
  16.      $czestosc[&#092;"$wartosc\"] += 1;
  17.    }  
  18.  }
  19. }
  20.  
  21.  
  22. // Usuniecie niepotrzebnych duplikatow
  23. foreach($czestosc as $klucz => $wartosc) {
  24.  $czestosc2[&#092;"$klucz\"] = sqrt($wartosc);
  25. }
  26.  
  27. print_r($czestosc2);
  28. ?>


Tylko mam pytanie. Czy ja czasem nie wynajduję koła od nowa? Coś mi się wydaje, że można zrobić to znacznie prościej (i szybciej: przy dużych ciągach nie jest to specjalnie wydajna sprawa), ale nie mam pojęcia jak.
Go to the top of the page
+Quote Post
Pawel_W
post
Post #2





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

Ostrzeżenie: (0%)
-----


substr_count" title="Zobacz w manualu PHP" target="_manual

(IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
#luq
post
Post #3





Grupa: Zarejestrowani
Postów: 589
Pomógł: 91
Dołączył: 22.05.2008
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Raczej array_count_values" title="Zobacz w manualu PHP" target="_manual po explode (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
-lukasamd-
post
Post #4





Goście







No, nie ma to jak zrobić swój, choć niepotrzebny kod (ale praktyka na marne nie pójdzie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) ).
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 12:41