Задать вопрос
@JTester

Как найти похожие слова?

Подскажите пожалуйста, как в массиве найти похожие слова и вывести? Допустим у меня в массиве есть 2 значения, это "test", "habr"
Вот, если я введу "t", то должно найти "test" или какой там будет ближе и похожий
  • Вопрос задан
  • 101 просмотр
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Веб-разработчик на PHP
    9 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Stepik
    Язык программирования PHP
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 1
Для поиска можно использовать similar_text() вместе с usort()

$query = 't';

$words = [
    'habr',
    'test',
];

usort($words, function ($first, $second) use ($query) {
    similar_text($query, $first, $firstPercent);
    similar_text($query, $second, $secondPercent);

    return $firstPercent < $secondPercent;
});

echo "Запрос: $query", PHP_EOL;
echo 'Искомое слово: ', $words[0], PHP_EOL;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы