Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP similar_text() 함수 – 두 문자열의 유사도 계산하기


PHP의 similar_text() 함수는 두 문자열 간의 유사도를 계산하는 데 사용됩니다. 이 함수는 내부적으로 올리버(Oliver) 알고리즘을 기반으로 동작하며, 두 문자열에서 일치하는 문자의 개수를 구하고 필요하다면 유사도를 백분율(%)로까지 확인할 수 있습니다.

문법(Syntax)

similar_text(str1, str2, percent)

매개변수(Parameters)

  • str1 − 비교 대상이 되는 첫 번째 문자열입니다.

  • str2 − 비교 대상이 되는 두 번째 문자열입니다.

  • percent − 선택 사항으로, 두 문자열의 유사도를 백분율 형태로 저장할 변수 이름을 지정합니다.

반환값(Return)

similar_text() 함수는 두 문자열에서 서로 일치하는 문자의 개수를 정수 형태로 반환합니다.

예제

다음은 "mobile"과 "mobility"라는 두 문자열을 비교하는 기본적인 예시입니다.

<?php
   $res = similar_text("mobile", "mobility", $percent);
   echo "Count of similar characters : $res\n";
?>

출력 결과

Count of similar characters : 5

위 예제에서 두 문자열은 앞부분의 "mobil"에 해당하는 5개의 문자가 일치하므로 결과값으로 5가 반환됩니다. 만약 세 번째 매개변수인 $percent 변수를 함께 출력하면, 두 문자열의 유사도가 백분율 값으로 표시되어 문자열이 얼마나 비슷한지 더 직관적으로 파악할 수 있습니다.

예제 2: 빈 문자열 비교

이번에는 빈 문자열 두 개를 비교했을 때 어떤 결과가 나오는지 살펴보겠습니다.

<?php
   similar_text("", "", $res);
   echo $res;
?>

출력 결과

0

비교할 문자열이 모두 비어 있기 때문에 일치하는 문자가 존재하지 않으며, 따라서 결과값으로 0이 반환됩니다. 이처럼 similar_text() 함수는 입력 문자열이 유효하지 않은 경우에도 오류 없이 안전하게 처리됩니다.