Collator::compare

collator_compare

(PHP 5 >= 5.3.0, PECL intl >= 1.0.0)

Collator::compare -- collator_compareCompare two Unicode strings

Опис

Об'єктно-орієнтований стиль

public int Collator::compare ( string $str1 , string $str2 )

Процедурний стиль

int collator_compare ( Collator $coll , string $str1 , string $str2 )

Compare two Unicode strings according to collation rules.

Параметри

coll

Collator object.

str1

The first string to compare.

str2

The second string to compare.

Значення, що повертаються

Return comparison result:

  • 1 if str1 is greater than str2 ;

  • 0 if str1 is equal to str2;

  • -1 if str1 is less than str2 .

On error boolean FALSE is returned.

Увага

Ця функція може повертати як логічне FALSE, так і нелогічне значення, яке прирівнюється до FALSE. Детальніше про це описується в розділі Логічний тип даних (Booleans). Використовуйте оператор === щоб перевірити значення, яке повертає дана функція.

Приклади

Приклад #1 collator_compare()example

<?php
$s1 
'Hello';
$s2 'hello';

$coll collator_create'en_US' );
$res  collator_compare$coll$s1$s2 );

if (
$res === false) {
    echo 
collator_get_error_message$coll );
} else if( 
$res ) {
    echo 
"s1 is greater than s2\n";
} else if( 
$res ) {
    echo 
"s1 is less than s2\n";
} else {
    echo 
"s1 is equal to s2\n";
}
?>

Наведений вище приклад виведе:


s1 is greater than s2

Прогляньте Також

add a note add a note

User Contributed Notes 1 note

up
1
erik at eldata dot se
3 years ago
The Collator class with method compare does what the non existing mb_strcmp, mb_strcasecmp, mb_strnatcmp and mb_strnatcasecmp would do for multibyte strings (UTF8) - but better! :-)

For "case": the Collator is case insensitive due to Collator::CASE_FIRST defaults to Collator::OFF, but can be changed with method setAttribute.

For "nat" (natural sort order for numbers): use method setAttribute with Collator::NUMERIC_COLLATION and Collator:ON to enable.
To Top