strnatcasecmp 는 php에서 매우 실용적인 문자열 비교 함수입니다. 자연 순서 알고리즘을 사용하며 대소 문자를 사용합니다. 자연 분류는 사전 순서로 문자열을 분류하는 것이 아닙니다. 그것은 숫자의 크기를 고려하고 인간 분류 습관과 더 일치 할 수 있습니다. 오늘 우리는 Strnatcasecmp 함수를 사용하여 여러 매개 변수를 자연스럽게 정렬하는 방법에 대해 논의 할 것입니다.
strnatcasecmp 함수는 두 줄 (Case Insensitive)이 자연 분류 순서와 일치하고 정수 값을 반환하는지 비교하는 데 사용됩니다.
두 줄이 동일하다는 것을 나타 내기 위해 0을 반환합니다.
첫 번째 문자열이 두 번째 문자열보다 작다는 음의 값을 반환합니다.
첫 번째 문자열이 두 번째 문자열보다 큰 양수 값을 반환합니다.
기본 구문은 다음과 같습니다.
int strnatcasecmp ( string $string1 , string $string2 )
실제 응용 분야에서는 종종 여러 줄을 정렬해야합니다. PHP는 자연 분류를 달성하기 위해 USORT 기능 및 StrNATCASECMP를 제공합니다. 다음은 strnatcasecmp를 사용하여 여러 문자열을 정렬하는 방법을 보여주는 예입니다.
<?php
// 정렬 할 문자열 배열
$array = array(
"img20.jpg",
"img3.jpg",
"img100.jpg",
"img12.jpg",
"img1.jpg"
);
// 사용 usort 그리고 strnatcasecmp 정렬 배열
usort($array, 'strnatcasecmp');
// 출력 정렬 결과
foreach ($array as $file) {
echo $file . "<br>";
}
?>
위 코드에서 여러 파일 이름을 포함하는 배열 $ 배열이 먼저 정의됩니다. 이 파일 이름에는 숫자 부품이 포함되어 있으며 자연 분류를 달성 할 수있는 strnatcasecmp 를 통해 이루어집니다. 다음으로 USORT 함수를 사용하여 배열을 strnatcasecmp 로 정렬하고 마지막으로 정렬 된 파일 이름을 출력하십시오.
strnatcasecmp 의 특징은 사례에 민감하지 않으므로 분류 과정에서 문자의 사례 문제를 자동으로 무시할 것입니다. 예를 들어, 배열에 IMG1.JPG 및 IMG1.JPG 가있는 경우 동일하게 간주됩니다 (자연 분류에서는 IMG1.jpg 가 IMG10.jpg 보다 앞서 있습니다).
사용자 정의 정렬 기능으로 여러 매개 변수를 정렬 할 수 있습니다. 다음은 다양한 유형의 문자열 배열의 자연스러운 분류에 strnatcasecmp를 사용하는 방법을 보여주는 예입니다.
<?php
// 사용자 정의 정렬 기능을 정의합니다
function customSort($a, $b) {
return strnatcasecmp($a, $b);
}
// 정렬 할 배열
$array = array(
"a20", "a2", "a10", "b1", "b10"
);
// 사용 uasort 정렬
uasort($array, 'customSort');
// 출력 정렬 결과
foreach ($array as $value) {
echo $value . "<br>";
}
?>
이 예에서, UASORT 함수 및 strnatcaseCMP는 문자와 숫자를 포함하는 배열을 자연스럽게 정렬하는 데 사용됩니다. 배열의 요소가 자연 순서로 배열되어 있음을 알 수 있습니다.
URL이 포함 된 문자열 배열을 자연스럽게 정렬 해야하는 경우 StrnatcaseCMP가 잘 작동합니다. 도메인 이름이있는 URL 세트가 있고 경로에 따라 자연스럽게 정렬하려면 다음 코드를 사용할 수 있다고 가정합니다.
<?php
// 정의에는 포함됩니다 URL 배열
$urls = array(
"https://gitbox.net/file20.jpg",
"https://gitbox.net/file3.jpg",
"https://gitbox.net/file100.jpg",
"https://gitbox.net/file12.jpg",
"https://gitbox.net/file1.jpg"
);
// 사용 usort 그리고 strnatcasecmp 정렬
usort($urls, 'strnatcasecmp');
// 출력 정렬 결과
foreach ($urls as $url) {
echo $url . "<br>";
}
?>
위의 예를 통해 Strnatcasecmp 함수는 특히 숫자를 포함하는 문자열을 정렬해야 할 때 자연 분류에 매우 적합한 도구임을 알 수 있습니다. USORT 또는 UASORT 와 같은 정렬 기능을 사용하면 여러 매개 변수를 자연 순서대로 쉽게 정렬 할 수 있습니다.
이 기사가 StrnatcaseCMP 함수를 사용하여 여러 문자열을 자연스럽게 정렬하고 실제 개발에 적용하는 방법을 더 잘 이해하는 데 도움이되기를 바랍니다.