PHP - функция Similar_text () возвращает неточные результаты? - PullRequest
2 голосов
/ 05 ноября 2010

Я работаю над поиском, и чтобы отфильтровать все плохие результаты, я сравниваю строку результатов с поисковым запросом, и если результаты превышают 30%, он возвращается.

Я знаю, что работает,Я делал это раньше, и это здорово.Тем не менее, по какой-то странной причине, похоже, сейчас я получаю некоторые действительно странные результаты.Я уже давно с этим играюсь и просто не могу понять!

while ($stmt->fetch()) {
 $tmp_procent = similar_text("banana", "banana");
 //if ($tmp_procent > 30) {
  $result[] = array('id' => $id,
        'category_id' => $category_id,
        'example' => html($example),
        'example_name' => html($example_name));
 //}
 $procent_arr[] = $tmp_procent;
}
return $procent_arr;

Как видите, я прокомментировал утверждение IF, так что сейчас оно возвращает всеРезультаты.Но дело не в этом ... Как видите, я сравниваю две абсолютно идентичные строки (банан), а затем возвращаю их.

Это то, что я получаю после распечатки результата:

Array
(
    [0] => 5
    [1] => 5
    [2] => 5
)

А что?Это не правильно!Разве это не должно быть 100 на всех результатах?

Любые идеи, ребята?

Спасибо!

Да, и я написал "procent" на шведском языке, так что это не с ошибкойесли ты это заметилПричина, по которой он возвращает 3 результата, состоит в том, что он находит три совпадения в базе данных.

...