(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
Collator::compare -- collator_compare — Сравнивает две строки Unicode
Объектно-ориентированный стиль
Процедурный стиль
Сравнивает две строки 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";
}
?>
Результат выполнения приведённого примера:
Пример #2 Сравнение строк без диакритических знаков и без учёта регистра
<?php
$c = new Collator( 'en' );
$c->setStrength( Collator::PRIMARY );
if ( $c->compare( 'Séan', 'Sean' ) == 0 )
{
echo "Значения равны\n";
}
Результат выполнения приведённого примера:
В этом примере Collator сравнивает, принимая во внимание только базовые символы. Документация для Collator->setStrength() объясняет различные сильные стороны.