"자연" 알고리즘을 사용하여 두 문자열을 비교합니다(대소문자 구분 안 함).
<?phpecho strnatcasecmp("2Hello world!","10Hello WORLD!");echo "<br>";echo strnatcasecmp("10Hello world!","2Hello WORLD!");?>strnatcasecmp() 함수는 "자연" 알고리즘을 사용하여 두 문자열을 비교합니다(대소문자를 구분하지 않음).
자연산술에서는 숫자 2가 숫자 10보다 작습니다. 컴퓨터 정렬에서는 10의 첫 번째 숫자가 2보다 작기 때문에 10은 2보다 작습니다.
참고: strnatcasecmp()는 대소문자를 구분합니다.
strnatcasecmp( 문자열1,문자열2 )
매개변수 | 설명하다 |
---|---|
문자열1 | 필수의. 비교할 첫 번째 문자열을 지정합니다. |
문자열2 | 필수의. 비교할 두 번째 문자열을 지정합니다. |
반환 값: | 함수는 다음을 반환합니다. 0 - 두 문자열이 동일한 경우 <0 - 문자열1이 문자열2보다 작은 경우 >0 - 문자열1이 문자열2보다 큰 경우 |
---|---|
PHP 버전: | 4+ |
자연 알고리즘(strnatcmp)과 기존 컴퓨터 문자열 정렬 알고리즘(strcmp)의 차이점은 다음과 같습니다.
<?php$arr1 = $arr2 = array("pic1","pic2","pic10","pic01","pic100","pic20","pic30","pic200");echo "표준 문자열 비교" ."<br>";usort($arr1,"strcmp");print_r($arr1);echo "<br>";echo "자연 순서 문자열 비교"."<br>";usort($arr2,"strnatcmp");print_r($arr2);?>