English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
levenshtein() 함수는 두 문자열 간의 편집 거리를 계산합니다.
int levenshtein ( string $str1 , string $str2 )
두 문자열 간의 편집 거리를 계산하기 위해 사용됩니다.
편집 거리는, 두 문자열 간을 통해 대체, 삽입 및 제거 등의 연산을 통해 문자열 str1str으로 변환2의 필요한 작업의 최소 문자 수입니다. 이 알고리즘의 복잡도는 O(m*n)에서, n과 m은 str1 와 str2의 길이(알고리즘 복잡도가 O(max(n,m)**3의 similar_text()와 비교했을 때, 여전히 시간이 걸리지만, 여전히 꽤 좋습니다。()。
가장 간단한 형태에서, 이 함수는 두 문자열을 매개변수로 받아서 str을 삽입, 대체 및 제거 등의 연산을 통해 변환1str으로 변환2필요한 연산 횟수.
두 번째 변형은 삽입, 대체 및 제거 연산 횟수를 정의하는 세 가지 추가 매개변수를 사용합니다. 이 변형은 더 일반적이고 유연하지만, 효율성이 떨어집니다.
두 매개변수 문자열 간의 levenshtein 거리를 반환하며, 그렇지 않으면-1
순번 | 파라미터와 설명 |
---|---|
1 | str1 편집 거리에서 하나의 문자열을 찾습니다 |
2 | str2 편집 거리에서 다른 문자열을 찾습니다 |
3 | cost_ins 삽입 횟수 정의 |
4 | cost_del 대체 횟수 정의 |
다음 예제를 시도해 두 문자열 간의 Levenshtein 거리를 계산합니다:
<?php //두 문자열 간의 편집 거리를 계산합니다 echo '두 문자열 간의 거리는 '; echo levenshtein("Hello World","ello World"); ?>테스트를 보자‹/›
출력 결과-
두 문자열 간의 거리는 1