2012-06-18 4 views
0

Я читал в файле CSV (с разделителями-запятыми Excel) и сохранял его в нескольких массивах (по одному для каждого столбца). Когда люди ищут «Расписание полетов в аэропорту Дениатуса», они получают результат поиска (который возвращается через AJAX). Когда они ищут «Deniatus Hockey», они не видят «Расписание полевого хоккея Deniatus» в качестве нетто-результата.Поиск массива для аналогичных терминов

Есть ли что-то вроде оператора «как», используемого с MySQL, который доступен для использования с массивами PHP?

+0

Вы всегда можете отменить свой код из «живых» переменных, чтобы дать нам еще несколько подсказок. – Sherlock

ответ

2

Вы можете искать строки в строках, используя stripos.

http://php.net/stripos

Вы можете использовать его в качестве функции обратного вызова цикла по записи массива.

1

Почему не просто цикл по массиву и проверить, происходит ли строка поиска (возможно, с stripos)

0

Если вы ищете полную фразу Deniatus Hockey, что, очевидно, не будет соответствовать Deniatus Field Hockey Schedule. Вам нужно разбить строку поиска и выполнить поиск по каждому слову в отдельности.

0

preg_match должен выполнить эту работу. Вы можете искать каждое слово в своей строке и подсчитывать количество совпадений, которое вы получаете.

Если вы хотите искать слова индивидуально, я предлагаю использовать explode(), используя «» в качестве разделителя, чтобы вы могли использовать массив отдельных слов.