Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Przeszukiwanie tablicy $key = (fragment)$value
KotWButach
post
Post #1





Grupa: Zarejestrowani
Postów: 361
Pomógł: 10
Dołączył: 8.02.2012

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


Witam

Tworze wyszukiwarkę z cache-m i mam więc tablicę wartości które należy wyszukać. Ale użytkownik może wpisać tylko część wyrazu tak więc zamiast wpisać "samochód" wpisze "samoch" i teraz chciał bym wyszukać tylko czy ten fragment się znajduje w tablicy. Tablica jest dość duża więc ręczne sprawdzanie każdego odpada wiersza na pętli jest wykluczone.

Proszę o pomoc w udoskonaleniu funkcji in_array wink.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 1)
by_ikar
post
Post #2





Grupa: Zarejestrowani
Postów: 1 798
Pomógł: 307
Dołączył: 13.05.2009
Skąd: Gubin/Wrocław

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


in_array tego nie wykonasz, zainteresuj się bardziej regexinterator: http://php.net/manual/pl/class.regexiterator.php tyle odnośnie przeszukiwania tablic. Odnośnie celu w jakim chcesz to wykorzystać IMO błędnie zakładasz że jak będzie cache, to będzie lepiej, bo dzięki cache wszystko chodzi szybciej. Jeżeli tych danych masz niewiele, nie wiem czy jest jakiś sens się bawić, bo znacznie szybciej zrobi to baza danych. Przy większej ilości danych, nie ma sensu robić tego po stronie php, bo narzut będzie większy, niż wykonywałbyś to w bazie danych.

Rozwiązaniem twojego problemu może być optymalizacja zapytań, skonfigurowanie bazy danych (jeżeli masz taką możliwość) i chociażby zwiększenie domyślnego cache bazy (tak tak, baza również trzyma swoje cache), już powinno przynieść jakieś efekty. Rozwiązań jest oczywiście znacznie więcej, wypisałem tylko kilka które można dość szybko i bez problemu wykonać.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 04:50