strnatcmp 는 PHP의 문자열 비교 함수로서 두 줄을 자연 순서로 비교합니다. 자연 차수 비교의 원리는 다음과 같습니다. 문자열을 비교할 때 숫자 부품은 문자의 문자 그대로의 순서보다는 숫자의 크기로 비교됩니다.
<span><span><span class="hljs-title function_ invoke__">strnatcmp</span></span><span>(</span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$str1</span></span><span>, </span><span><span class="hljs-keyword">string</span></span><span> </span><span><span class="hljs-variable">$str2</span></span><span>): </span><span><span class="hljs-keyword">int</span></span><span>
</span></span>
$ str1 과 $ str2 는 비교해야 할 두 개의 문자열입니다.
반환 값 : $ str1이 $ str2 미만인 경우 음수를 반환하십시오. $ str1 이 $ str2 와 같으면 반환 0; $ str1 이 $ str2 보다 큰 경우 양수를 반환하십시오.
<span><span><span class="hljs-variable">$str1</span></span><span> = </span><span><span class="hljs-string">"a10"</span></span><span>;
</span><span><span class="hljs-variable">$str2</span></span><span> = </span><span><span class="hljs-string">"a2"</span></span><span>;
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-title function_ invoke__">strnatcmp</span></span><span>(</span><span><span class="hljs-variable">$str1</span></span><span>, </span><span><span class="hljs-variable">$str2</span></span><span>); </span><span><span class="hljs-comment">// 산출 1,왜냐하면 "a10" 자연별로 정렬하십시오 "a2" ~ 후에</span></span><span>
</span></span>
위에서 볼 수 있듯이 Strnatcmp는 문자열의 숫자 부분을 하나씩 하나씩 비교하는 대신 숫자로 숫자로 비교합니다.
Natsort는 자연 순서로 배열을 정렬하는 데 PHP에서 사용되는 기능입니다. Strnatcmp 와 달리 Natsort는 개별 문자열을 비교하기보다는 배열을 직접 정렬하는 분류 기능입니다.
<span><span><span class="hljs-title function_ invoke__">natsort</span></span><span>(</span><span><span class="hljs-keyword">array</span></span><span> &</span><span><span class="hljs-variable">$array</span></span><span>): </span><span><span class="hljs-keyword">bool</span></span><span>
</span></span>
$ 배열은 정렬 할 배열입니다.
반환 값 : 정렬이 성공할 때 true를 반환하고 실패하면 거짓입니다 .
<span><span><span class="hljs-variable">$array</span></span><span> = [</span><span><span class="hljs-string">"a10"</span></span><span>, </span><span><span class="hljs-string">"a2"</span></span><span>, </span><span><span class="hljs-string">"a1"</span></span><span>];
</span><span><span class="hljs-title function_ invoke__">natsort</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>);
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$array</span></span><span>);
</span></span>
산출:
<span><span><span class="hljs-title function_ invoke__">Array</span></span><span>
(
[</span><span><span class="hljs-number">2</span></span><span>] => a1
[</span><span><span class="hljs-number">1</span></span><span>] => a2
[</span><span><span class="hljs-number">0</span></span><span>] => a10
)
</span></span>
보시다시피, Natsort는 배열 요소를 자연 순서로 정렬합니다. 그것은 strnatcmp 와 유사하게 작동하지만 응용 프로그램의 범위는 단일 문자열이 아닌 배열입니다.
자연 분류 : Strnatcmp 와 Natsort는 모두 자연 분류 규칙을 따릅니다. 특히 문자열에 숫자가 포함되어 있습니다.
숫자와 문자 비교 방법 : 문자별로 문자를 비교하는 대신 문자열의 숫자 부분을 숫자로 비교합니다.
응용 프로그램 범위 :
strnatcmp는 두 줄의 자연 순서를 비교하는 데 사용됩니다.
Natsort는 자연 순서로 배열을 정렬하는 데 사용됩니다.
반품 값 :
strnatcmp는 두 줄 사이의 크기 관계를 나타내는 정수를 반환합니다.
Natsort는 배열을 정렬하고 정렬 된 배열을 반환하지 않지만 원래 배열을 직접 수정합니다.
시나리오 사용 :
strnatcmp는 두 줄이 자연 순서로 배열되는지 여부를 비교 해야하는 상황에 적합합니다.
Natsort는 자연스럽게 여러 줄을 포함하는 배열을 정렬 해야하는 상황에 적합합니다.