strnatcmp

(PHP 4 )

strnatcmp --  "natural order" 알고리즘을 이용한 문자열 비교

설명

int strnatcmp ( string str1, string str2)

이 함수는 으로 사람이 하는것과 같은 알파벳과 숫자를 정렬하는 방법의 비교 알고리즘을 수행한다. 이 알고리즘과 컴퓨터가 사용하는 정렬 알고리즘(strcmp()에 사용)과의 차이가 아래의 예에 나와 있다.:

$arr1 = $arr2 = array ("img12.png","img10.png","img2.png","img1.png");

echo "Standard string comparison\n";

usort($arr1,"strcmp");

print_r($arr1);

echo "\nNatural order string comparison\n";

usort($arr2,"strnatcmp");

print_r($arr2);

위의 코드는 아래의 결과를 생성할 것이다.:

기본 문자열 비교(Standard string comparison)

Array

(

    [0] => img1.png

    [1] => img10.png

    [2] => img12.png

    [3] => img2.png

)



Natural order 문자열 비교

Array

(

    [0] => img1.png

    [1] => img2.png

    [2] => img10.png

    [3] => img12.png

)

더 많은 정보를 위해 Martin Pool 의 Natural Order String Comparison 을 참고하라.

문자열 비교 함수와 비슷하게 이 함수는, str1str2보다 작다면 < 0 을 반환하고; str1str2보다 크다면 > 0 을 반환한다. 그리고 이들이 같다면 0을 반환한다.

이 비교는 대소문자를 구별함을 유의해라.

ereg(), strcasecmp(), substr(), stristr(), strcmp(), strncmp(), strncasecmp(), strnatcasecmp(), strstr(), natsort() 그리고 natcasesort()를 참고하라.