Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przeszukiwanie tablicy
MadMark
post
Post #1





Grupa: Zarejestrowani
Postów: 105
Pomógł: 3
Dołączył: 12.07.2010

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


Witam,

mam tablicę w której mam jakąś pulę zdań, po kolei:
0 => "zdanie numer jeden",
1 => "zdanie numer dwa"
itd

kiedy chce sobie znaleźć jedno słowo jest okej ale...

Jak w tablicy znaleźć tylko ten rezultat który zawiera jak najwięcej słów kluczowych (z innej tablicy) ?


Z góry dziękuję za wszelką pomoc (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
tehaha
post
Post #2





Grupa: Zarejestrowani
Postów: 1 748
Pomógł: 388
Dołączył: 21.08.2009
Skąd: Gdynia

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


@MadMark no to przecież w tej jednej pętli od razu sprawdzasz wszystkie słowa, nie musisz robić pętli dla każdego oddzielnej, zliczasz liczbę trafień i zapisujesz do drugiej tablicy gdzie klucz to klucz z tej przeszukiwanej a wartość to liczba trafień
@mat-bi - chyba nie przeczytałeś dokładnie co autor chce zrobić

tak na szybko to ja bym to zrobił tak:
  1. $search = array('Ala', 'ma', 'kota');
  2.  
  3. $base = array
  4. (
  5. 1=>'Ala ma ',
  6. 2=>'Ala ma kota',
  7. 3=>'Ala kota',
  8. 4=>'kota',
  9. 5=>'Stefan też ma kota',
  10. 6=>'Ale Mietek już nie'
  11. );
  12.  
  13. $result = array();
  14.  
  15. foreach($base as $key=>$record)
  16. {
  17. $result[$key] = 0;
  18. foreach($search as $search_word)
  19. {
  20. $result[$key] += substr_count($record, $search_word);
  21. }
  22. }
  23.  
  24. arsort($result);
  25. print_r($result);


Ten post edytował tehaha 20.06.2011, 18:18:32
Go to the top of the page
+Quote Post

Posty w temacie


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: 16.10.2025 - 17:46