Compare two Unicode strings

# Collator::compare

# collator_compare

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

Collator::compare -- collator_compare — Compare two Unicode strings

### 说明

面向对象风格

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

过程化风格

function 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.

### 参见

- collator_sort() - Sort array using specified collator

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open