>  기사  >  백엔드 개발  >  두 문자열 사이의 거리를 반환하는 PHP 함수 levenshtein()

두 문자열 사이의 거리를 반환하는 PHP 함수 levenshtein()

黄舟
黄舟원래의
2017-11-02 13:08:341250검색

두 문자열 사이의 Levenshtein 거리 계산:

<?php
echo levenshtein("Hello World","ello World");
echo "<br>";
echo levenshtein("Hello World","ello World",10,20,30);
?>

정의 및 사용법

levenshtein() 함수는 두 문자열 사이의 Levenshtein 거리를 반환합니다.

편집 거리라고도 알려진 Levenshtein 거리는 한 문자열을 다른 문자열로 변환하기 위해 두 문자열 사이에 필요한 최소 편집 작업 수를 나타냅니다. 허용되는 편집 작업에는 한 문자를 다른 문자로 바꾸기, 문자 삽입 및 삭제가 포함됩니다.

기본적으로 PHP는 모든 작업(교체, 삽입 및 삭제)에 동일한 가중치를 부여합니다. 그러나 선택적 삽입, 교체 및 삭제 매개변수를 설정하여 각 작업의 비용을 정의할 수 있습니다.

참고: levenshtein() 함수는 대소문자를 구분하지 않습니다.

참고: levenshtein() 함수는like_text() 함수보다 빠릅니다. 그러나 유사한_text() 함수는 필요한 수정 횟수를 줄이면서 더 정확한 결과를 제공합니다.

Syntax

levenshtein(string1,string2,insert,replace,delete)

매개변수                 설명

string1                                                                                                         비교할 첫 번째 문자열입니다.

string2 필수입니다. 비교할 두 번째 문자열입니다. ​

insert ​ 선택사항입니다. 문자를 삽입하는 데 드는 비용입니다. 기본값은 1입니다. ​

replace ​ 선택사항입니다. 캐릭터 교체 비용. 기본값은 1입니다. ​

삭제 ​ 선택사항입니다. 캐릭터 삭제 비용. 기본값은 1입니다. ​​

기술 세부정보

반환값: ​ ​ 두 매개변수 문자열 사이의 Levenshtein 거리를 반환하거나 문자열 중 하나가 255자를 초과하는 경우 -1을 반환합니다.

PHP 버전: 4.0.1+

문자열 중 하나가 255자를 초과하면 levenshtein() 함수는 -1을 반환합니다.
levenshtein() 함수는 대소문자를 구분하지 않습니다.
levenshtein() 함수는like_text() 함수보다 빠릅니다. 그러나 유사_텍스트() 함수는 수정이 덜 필요한 보다 정확한 결과를 제공합니다.

<?php
    echo levenshtein("Hello World","ello World");
    echo "<br />";
    echo levenshtein("Hello World","ello World",10,20,30);
    ?>

출력:

 1 30

위 내용은 두 문자열 사이의 거리를 반환하는 PHP 함수 levenshtein()의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.