>백엔드 개발 >PHP 튜토리얼 >PHP는 '자연' 알고리즘을 사용하여 두 문자열(대소문자 구분 안 함)을 strnatcasecmp() 함수와 비교합니다.

PHP는 '자연' 알고리즘을 사용하여 두 문자열(대소문자 구분 안 함)을 strnatcasecmp() 함수와 비교합니다.

黄舟
黄舟원래의
2017-11-04 11:09:292374검색

"자연" 알고리즘을 사용하여 두 문자열 비교(대소문자 구분 안 함):

<?php
echo strnatcasecmp("2Hello world!","10Hello WORLD!");
echo "<br>";
echo strnatcasecmp("10Hello world!","2Hello WORLD!");
?>

정의 및 사용법

strnatcasecmp() 기능 "자연" 알고리즘을 사용하여 두 문자 비교 문자열(대소문자 구분 안 함) .

자연산수에서는 숫자 2가 숫자 10보다 작습니다. 컴퓨터 정렬에서는 10의 첫 번째 숫자가 2보다 작기 때문에 10은 2보다 작습니다.

참고: strnatcasecmp()는 대소문자를 구분하지 않습니다.

Syntax

strnatcasecmp(string1,string2)
Parameters Description
string1 필수입니다. 비교할 첫 번째 문자열을 지정합니다.
string2 필수입니다. 비교할 두 번째 문자열을 지정합니다.

기술 세부정보

PHP 버전: 4+예제 더보기
반환 값: 함수 반환:
  • 0 - 두 문자열이 동일한 경우

  • <0 - string1이 string2보다 작은 경우

  • &g t; 0 - 문자열1이 문자열2보다 큰 경우

예제 1

자연 알고리즘(

strnatcmp

) 일반 컴퓨터 문자열 정렬 알고리즘(

strcmp):

<?php
$arr1 = $arr2 = array("pic1","pic2","pic10","pic01","pic100","pic20","pic30","pic200");
echo "Standard string comparison"."<br>";
usort($arr1,"strcmp");

print_r($arr1);
echo "<br>";

echo "Natural order string comparison"."<br>";
usort($arr2,"strnatcmp");

print_r($arr2);
?>
자연 정렬 strnatcmp(): 이 함수는 strcmp 함수와 기본적으로 동일하지만 비교 원리는 완전히 다릅니다. 이 함수는 사전 순서가 아닌 "자연 정렬"입니다. 비교 문자열. 소위 자연 정렬은 사람들의 습관에 따라 정렬하는 것입니다. 예를 들어 strcmp 함수를 사용하여 정렬하면 "4"는 "14"보다 크지만 실제로는 "14"라는 숫자가 나옵니다. "4"보다 크므로 strnatcmp 함수는 후자를 기준으로 비교됩니다.

위 내용은 PHP는 '자연' 알고리즘을 사용하여 두 문자열(대소문자 구분 안 함)을 strnatcasecmp() 함수와 비교합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.