라이브러리
[PHP] Collator::compare - 두 개의 유니코드 문자열 비교
Collator::compare
PHP의 Collator::compare 메소드는 두 개의 문자열을 비교하여 그 결과를 반환합니다. 이 메소드는 locale의 정렬 규칙에 따라 문자열을 비교합니다.
# 사용법
Collator::compare 메소드는 두 개의 문자열을 인자로 받습니다. 이 메소드는 다음과 같은 형태로 사용할 수 있습니다.
#hostingforum.kr
php
$collator = Collator::create($locale);
$result = $collator->compare($str1, $str2);
# 예제
다음 예제에서는 Collator::compare 메소드를 사용하여 두 개의 문자열을 비교합니다.
#hostingforum.kr
php
// locale을 설정합니다.
$locale = 'ko_KR';
// Collator 인스턴스를 생성합니다.
$collator = Collator::create($locale);
// 두 개의 문자열을 비교합니다.
$str1 = 'apple';
$str2 = 'banana';
// compare 메소드를 사용하여 두 문자열을 비교합니다.
$result = $collator->compare($str1, $str2);
// 결과를 출력합니다.
if ($result < 0) {
echo "$str1은 $str2보다 작습니다.";
} elseif ($result > 0) {
echo "$str1은 $str2보다 큽니다.";
} else {
echo "$str1과 $str2은 같습니다.";
}
# 결과
위 예제의 결과는 다음과 같습니다.
#hostingforum.kr
apple은 banana보다 작습니다.
# locale의 영향
locale의 정렬 규칙에 따라 Collator::compare 메소드의 결과가 달라집니다. 예를 들어, 영어 locale에서는 'apple'과 'banana'은 다음과 같이 비교됩니다.
#hostingforum.kr
php
// locale을 설정합니다.
$locale = 'en_US';
// Collator 인스턴스를 생성합니다.
$collator = Collator::create($locale);
// 두 개의 문자열을 비교합니다.
$str1 = 'apple';
$str2 = 'banana';
// compare 메소드를 사용하여 두 문자열을 비교합니다.
$result = $collator->compare($str1, $str2);
// 결과를 출력합니다.
if ($result < 0) {
echo "$str1은 $str2보다 작습니다.";
} elseif ($result > 0) {
echo "$str1은 $str2보다 큽니다.";
} else {
echo "$str1과 $str2은 같습니다.";
}
위 예제의 결과는 다음과 같습니다.
#hostingforum.kr
apple은 banana보다 작습니다.
# 정렬 규칙
Collator::compare 메소드는 locale의 정렬 규칙에 따라 문자열을 비교합니다. 예를 들어, 한국어 locale에서는 '가'와 '나'는 다음과 같이 비교됩니다.
#hostingforum.kr
php
// locale을 설정합니다.
$locale = 'ko_KR';
// Collator 인스턴스를 생성합니다.
$collator = Collator::create($locale);
// 두 개의 문자열을 비교합니다.
$str1 = '가';
$str2 = '나';
// compare 메소드를 사용하여 두 문자열을 비교합니다.
$result = $collator->compare($str1, $str2);
// 결과를 출력합니다.
if ($result < 0) {
echo "$str1은 $str2보다 작습니다.";
} elseif ($result > 0) {
echo "$str1은 $str2보다 큽니다.";
} else {
echo "$str1과 $str2은 같습니다.";
}
위 예제의 결과는 다음과 같습니다.
#hostingforum.kr
가은 나보다 작습니다.
# 참고
Collator::compare 메소드는 locale의 정렬 규칙에 따라 문자열을 비교합니다. 따라서 locale을 설정할 때 주의가 필요합니다. 또한 Collator::compare 메소드는 두 개의 문자열을 비교할 때 정렬 규칙에 따라 결과가 달라질 수 있으므로 결과를 확인할 때 주의가 필요합니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.