Collator::compare

collator_compare

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

Collator::compare -- collator_compareСравнивает две строки Unicode

Описание

Объектно-ориентированный стиль

publicCollator::compare(string$string1, string$string2): int|false

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

collator_compare(Collator$object, string$string1, string$string2): int|false

Сравнивает две строки Unicode в соответствии с правилами сопоставления.

Список параметров

object

Объект Collator.

string1

Первая строка для сравнения.

string2

Вторая строка для сравнения.

Возвращаемые значения

Возвращает результат сравнения:

  • 1, если string1большеstring2;

  • 0, если string1равнаstring2;

  • -1, если string1меньшеstring2.

В случае возникновения ошибки возвращает false.
Внимание

Функция возвращает как логическое значение false, так и нелогическое значение, которое приводится к false. Прочитайте раздел «Логический тип», чтобы получить дополнительную информацию. Используйте оператор === для проверки значения, которое возвращает функция.

Примеры

Пример #1 Пример использования collator_compare()

<?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 > 0 ) {
echo
"s1 больше s2\n";
} else if(
$res < 0 ) {
echo
"s1 меньше s2\n";
} else {
echo
"s1 и s2 равны\n";
}
?>

Результат выполнения приведённого примера:


s1 больше s2

Пример #2 Сравнение строк без диакритических знаков и без учёта регистра

<?php
$c
= new Collator( 'en' );
$c->setStrength( Collator::PRIMARY );

if (
$c->compare( 'Séan', 'Sean' ) == 0 )
{
echo
"Значения равны\n";
}

Результат выполнения приведённого примера:


Значения равны

В этом примере Collator сравнивает, принимая во внимание только базовые символы. Документация для Collator->setStrength() объясняет различные сильные стороны.

Смотрите также

  • collator_sort() - Сортирует массив с использованием указанного средства сортировки
To Top