Collator::compare
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
Compare two Unicode strings
Description
Oop
Procedural
Compare two Unicode strings according to collation rules.
Parameters
objectCollatorobject.string1The first string to compare.
string2The second string to compare.
Return Values
Return comparison result:
- 1 if
string1is greater thanstring2; - 0 if
string1is equal tostring2; - -1 if
string1is less thanstring2.
Returns false on failure.
Falseproblem
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";
}
?>The above example will output:
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";
}The above example will output:
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.