similar_text
(PHP 4, PHP 5, PHP 7, PHP 8)
similar_text — Обчислює ступінь схожості двох рядків
Опис
similar_text(string $string1, string $string2, float &$percent = null): int
Обчислює ступінь схожості двох рядків за алгоритмом, описаним у Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1). Ця реалізація алгоритму не використовує стека, використаного в оригіналі, натомість застосовуються рекурсивні виклики, що у деяких випадках може прискорити процес. Слід зазначити, що складність алгоритму становить O(N**3), де N - довжина довшою з двох рядків.
Список параметрів
string1
Перший рядок.
string2
Другий рядок.
Зауваження :
Изменение порядка
string1
иstring2
может привести к другому результату; см, Приклад ниже.
percent
При передачі за посиланням третього аргументу, similar_text() привласнює йому ступінь схожості двох рядків у відсотках, ділячи результат similar_text() на середню кількість довжин заданих рядків раз.
Значення, що повертаються
Повертається кількість символів, що збігаються, у двох рядках.
Кількість символів, що збігаються, обчислюється шляхом знаходження найдовшої першої загальної підрядки, а потім робить це для префіксів і суфіксів рекурсивно. Додаються довжини всіх знайдених загальних підрядок.
Приклади
Приклад #1 Приклад використання similar_text()** із заміною аргументів**
У цьому прикладі показано, що зміна порядку аргументів string1
иstring2
може дати різні результати.
Loading...
Висновок наведеного прикладу буде схожим на:
сходство: 5 (71.428571428571 %)
сходство: 3 (42.857142857143 %)
Дивіться також
- levenshtein() - обчислює відстань Левенштейна між двома рядками
- soundex() - Повертає ключ soundex для рядка