>  기사  >  백엔드 개발  >  PHP는 '자연' 알고리즘을 사용하여 문자열의 유사점과 차이점을 어떻게 알 수 있습니까?

PHP는 '자연' 알고리즘을 사용하여 문자열의 유사점과 차이점을 어떻게 알 수 있습니까?

醉折花枝作酒筹
醉折花枝作酒筹원래의
2021-08-05 14:35:461463검색

이전 글에서는 다른 문자열에서 문자열의 마지막 위치를 찾는 방법을 배웠습니다. 필요한 경우 "PHP는 문자열의 마지막 위치를 어떻게 알 수 있습니까?"를 읽어보세요. 이번에는 "자연스러운" 알고리즘을 사용하여 문자열의 유사점과 차이점을 아는 방법을 소개하겠습니다. 필요할 경우 참고할 수 있습니다.

이전 글에서는 문자열을 비교하는 방법을 소개했지만, 이번에는 "자연스러운" 알고리즘을 사용하여 문자열을 비교합니다. 일반 알고리즘을 사용하여 문자열을 비교하는 방법을 알고 싶다면 이전 기사 "

php 함수: 문자열의 유사점과 차이점을 아는 방법"을 읽어보세요.

"자연스러운" 정렬 알고리즘이 무엇인지 살펴보겠습니다.

사람들이 일반적으로 영숫자 문자열을 정렬하는 것과 같은 방식으로 정렬 알고리즘을 구현하고 "자연 정렬"이라고 하는 원래의 키/값 연관을 유지합니다.

좋아요, 이제 본론으로 들어가겠습니다.

먼저 작은 예를 살펴보겠습니다.

<?php
echo strnatcasecmp("2Hello WORLD!","10Hello WORLD!");
echo "<br>";
echo strnatcasecmp("2hello world!","2aello world!");
echo "<br>";
echo strnatcasecmp("2hello world!","9hello WORLD!");
echo "<br>";
echo strnatcasecmp("2hello world!","2HELLO WORLD!");
?>

이 결과는

PHP는 자연 알고리즘을 사용하여 문자열의 유사점과 차이점을 어떻게 알 수 있습니까?

이 예를 자세히 살펴보겠습니다. 이전 숫자를 제외하고는 완전히 동일할 때 숫자는 -1입니다. 뒤의 글자가 바뀌면 , 가 1이 되는데, 숫자가 같고 글자도 같으며 대소문자가 다를 경우에는 0으로 나타난다. 그 이유는 무엇인가?


이런 질문을 가지고 이 기능을 살펴보겠습니다.


strnatcasecmp() 함수는 "자연스러운" 알고리즘을 사용하여 두 문자열을 비교합니다(대소문자 구분 안 함).

이 경우, 이 함수의 구문을 살펴보겠습니다.


strnatcasecmp(要比较的第一个字符串,要比较的第二个字符串)

저희는 이전에도 "0", "-1", "1"에 대해 궁금했습니다. 그것은 중요하지 않습니다. 이것은 첫 번째 문자열과 두 번째 문자열 사이의 관계를 설명하는 데 사용되는 함수의 반환 값입니다.


이 함수는 다음을 반환합니다.

  • 0 - 두 문자열이 동일한 경우

  • >0 - string1이 string2보다 큰 경우

실용적입니다." "자연스러운" 알고리즘에는 문자열을 비교하는 방법이 두 가지가 있습니다. 이번에는 대소문자를 구분하는 방법을 소개하겠습니다. 다음 글에서는 대소문자를 구분하는 방법을 소개하겠습니다.


그게 다입니다. 더 알고 싶다면 여기를 클릭하세요. → →

php 비디오 튜토리얼

위 내용은 PHP는 '자연' 알고리즘을 사용하여 문자열의 유사점과 차이점을 어떻게 알 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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