현재 위치: > 최신 기사 목록> PHP에서 Levenshtein () 기능의 자세한 설명 및 적용

PHP에서 Levenshtein () 기능의 자세한 설명 및 적용

gitbox 2025-06-13

1. 소개

많은 소프트웨어 시스템을 개발할 때는 종종 텍스트 매칭, 문자열 검색 및 단어 편집 거리와 같은 문제를 처리해야합니다. 그 중 텍스트의 편집 거리는 일련의 문자 작업 (예 : 삽입, 삭제, 교체)을 통해 한 텍스트를 다른 텍스트로 변환하는 데 필요한 최소 피연산자를 나타냅니다. 편집 거리가 작을수록 텍스트의 유사성이 높아집니다. Levenshtein 알고리즘은 문자열 편집 거리를 계산하기위한 고전적인 알고리즘 중 하나입니다.

PHP에서 Levenshtein () 함수는 두 문자열 사이의 편집 거리를 계산하는 데 사용됩니다. 즉, 한 문자열을 다른 문자열로 변환하는 데 필요한 최소 편집 작업 수를 반환 할 수 있습니다.

2. 기능 프로토 타입

int levenshtein (String $ st1, String $ str2, int $ cost_ins, int $ cost_rep, int $ cost_del)

2.1 매개 변수 목록

매개 변수 이름 매개 변수 유형 설명
str1 첫 번째 문자열
str2 두 번째 문자열
Cost_ins int 삽입 작업 비용 (기본값은 1)
Cost_Rep int 교체 작업 비용 (기본값은 1)
Cost_del int 삭제 비용 (기본값은 1)

2.2 반환 값

이 함수는 두 문자열 사이의 최소 편집 거리, 즉 편집을 완료하는 데 필요한 최소 작업 수를 반환합니다.

3. 예

3.1 예 1

$ str1 = "고양이";
$ str2 = "앉아";
$ 거리 = Levenshtein ($ str1, $ str2);
Echo "$ str1과 $ str2 사이의 거리는 $ 거리";

산출:

 <span class="fun">새끼 고양이와 앉는 거리는 3입니다</span>

참고 : "새끼 고양이"에서 "앉아"까지 3 번의 작업이 필요합니다.

3.2 예제 2

$ str1 = "고양이";
$ str2 = "앉아";
$ 거리 = Levenshtein ($ str1, $ str2, 2, 3, 4);
Echo "$ str1과 $ str2 사이의 거리는 $ 거리";

산출:

 <span class="fun">새끼 고양이와 앉는 거리는 15입니다</span>

참고 : "새끼 고양이"에서 "설정"에 이르기까지 삽입, 교체 및 삭제 작업이 필요하며 총 15 개의 작업이 완료되어야합니다.

3.3 예 3

$ str1 = "Hello";
$ str2 = "안녕";
$ 거리 = Levenshtein ($ str1, $ str2);
Echo "$ str1과 $ str2 사이의 거리는 $ 거리";

산출:

 <span class="fun">Hello와 Goodbye 사이의 거리는 4입니다</span>

참고 : "hello"에서 "Goodbye"에 이르기까지 문자를 삽입하고 두 글자를 교체하고 문자를 삭제해야합니다. 완료하는 데 총 4 개의 작업이 필요합니다.

4. 요약

Levenshtein 알고리즘은 편집 거리를 계산하기위한 고전적인 알고리즘이며 문자열 처리 작업에 널리 사용됩니다. PHP의 Levenshtein () 함수는이 알고리즘의 편리한 구현을 제공하여 문자열 간의 유사성을 신속하게 계산할 수 있도록 도와줍니다. 텍스트 처리, 맞춤법 검사 또는 자연 언어 처리에 관계없이 Levenshtein () 기능은 개발자를 강력하게 지원할 수 있습니다.