![]() |
![]() |
![]()
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 ![]() |
|
|
![]() |
![]()
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ć. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 04:50 |