У меня есть файл csv, который анализируется и отображается. Я хочу сделать его доступным для поиска. Поэтому у меня есть форма, которая принимает пользовательский запрос и сравнивает его с массивом, чтобы найти совпадения. Теперь вот что у меня есть:Не удалось найти строку
foreach($last as $key=>$string) {
$hits[$key] = strpos(strtolower($string . " " . $first[$key] . " " . $middle[$key]), $query);
}
До этого небольшого фрагмента кода я заставляю $query
снизить также.
Итак, в основном это объединяет полное имя Last First Middle и ищет каждый элемент массива для соответствия. Тогда, если $hits[$key] != false
могу сказать, что там был матч. Поэтому я возвращаюсь и отображаю этот результат из основного массива имен. Надеюсь, это имеет смысл ...
Теперь с положительной стороны я получу много результатов, которые должны появиться. Например, если я найду jo
, в списке появятся все фамилии Джонсона.
Проблема, с которой я столкнулась, - это результат, который не соответствует запросу или результатам, которые не отображаются, когда я знаю, что они находятся в списке имен. Поэтому я знаю, что smith john
должен вернуть результат, но он вернется без каких-либо результатов.
Это первый раз, когда я действительно работал над чем-то с функцией поиска, поэтому я хочу сделать это правильно.
Эй удивительным! Таким образом, это облегчает проблему результатов, которые не появляются, когда я знаю, что они там. Другая проблема все еще происходит. Я ищу имя, и я получаю результаты, которые не содержат ничего даже близко к запросу. –
@baudday: Мне нужен пример поиска и примеры данных, которые вы ищете, чтобы рассказать вам, почему это делается. – FtDRbwLXw6
Хорошо, пробуйте эти имена отформатированы Последнее, первое среднее: Байер, Майкл Джозеф; Бейкер, Майкл Дэниел; Бейкер, Стефани Николь; Банфилд Кристофер Филлип; Банки, Джозеф Эндрю; Парикмахер, Дэвид Дэниел; Теперь найдите Майкла в этом списке. Он должен вернуть весь этот список. Отправьте мой поисковый код в отдельный комментарий. –