Collator::compare

collator_compare

Compare two Unicode strings

&reftitle.description;

&style.oop;

public ``int``false```Collator::compare` `string` `string1` `string` `string2`

&style.procedural;

``int``false```collator_compare` `Collator` `object` `string` `string1` `string` `string2`

Compare two Unicode strings according to collation rules.

&reftitle.parameters;

`object`

- `Collator` object.

`string1`

- The first string to compare.

`string2`

- The second string to compare.

&reftitle.returnvalues;

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. &return.falseproblem;
&reftitle.examples;

### `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";
    }
    ?>

&example.outputs;

         s1 is greater than s2

### 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";
    }

&example.outputs;

         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.

&reftitle.seealso;

- `collator_sort`