Strings strnatcmp

(PHP 4, PHP 5, PHP 7, PHP 8)

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


설명

strnatcmp(string $string1, string $string2): int

이 함수는 사람이 하는 방식으로 영숫자 문자열을 정렬하는 비교 알고리즘을 구현합니다. 이를 "natural order"이라고 합니다. 이 비교는 대소문자를 구분합니다.


매개변수

string1
첫 번째 문자열입니다.
string2
두 번째 문자열입니다.

반환 값

다른 문자열 비교 함수와 유사하게 이 함수는 string1string2보다 작으면 < 0을 반환합니다. string1string2보다 크면 > 0이고 같으면 0입니다.


Examples

이 알고리즘과 일반 컴퓨터 문자열 정렬 알고리즘(strcmp()에서 사용됨) 간의 차이점에 대한 예는 아래에서 볼 수 있습니다.

                  
<?php
$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 string comparison
Array
(
    [0] => img1.png
    [1] => img2.png
    [2] => img10.png
    [3] => img12.png
)
                

자세한 내용은 Martin Pool의 » Natural Order String Comparison 페이지를 참조하세요.


기타

  • preg_match() - 정규식 일치 수행
  • strcasecmp() - 이진 안전한 대소문자를 구분하지 않는 문자열 비교
  • substr() - 문자열의 일부 반환
  • stristr() - 대소문자를 구분하지 않는 strstr
  • strcmp() - 이진 안전 문자열 비교
  • strncmp() - 처음 n개의 문자에 대한 이진 안전 문자열 비교
  • strncasecmp() - 처음 n개의 문자에 대한 이진 안전 대소문자를 구분하지 않는 문자열 비교
  • strnatcasecmp() - "natural order" 알고리즘을 사용한 대소문자 구분 문자열 비교
  • strstr() - 문자열의 첫 번째 항목 찾기
  • natsort() - "natural order" 알고리즘을 사용하여 배열 정렬
  • natcasesort() - 대소문자를 구분하지 않는 "natural order" 알고리즘을 사용하여 배열 정렬