Collator::compare

collator_compare

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

Collator::compare -- collator_compareCompare two Unicode strings

Опис

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

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

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

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

Compare two Unicode strings according to collation rules.

Параметри

object

Collator object.

string1

The first string to compare.

string2

The second string to compare.

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

Return comparison result:

  • 1 if string1 is greater than string2 ;

  • 0 if string1 is equal to string2;

  • -1 if string1 is less than string2 .

Returns false on failure.

Увага

Ця функція може повертати як логічне false, так і не логічне значення, яке прирівнюється до false. Докладніше про це описано в розділі Логічні типи даних. Для перевірки значення, яке повертає ця функція, використовується оператор ===.

Приклади

Приклад #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 > 0 ) {
echo
"s1 is greater than s2\n";
} else if(
$res < 0 ) {
echo
"s1 is less than s2\n";
} else {
echo
"s1 is equal to s2\n";
}
?>

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


s1 is greater than s2

Приклад #2 Comparing strings without diacritics or case-sensitivity

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

if (
$c->compare( 'Séan', 'Sean' ) == 0 )
{
echo
"The same\n";
}

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


The same

This example instructs the collator to compare with only taking the base characters into account. The documentation for Collator->setStrength() explains the different strengths.

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