International PHP Conference Berlin 2021

Collator::compare

collator_compare

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

Collator::compare -- collator_compareCompare deux chaînes Unicode

Description

Style orienté objet

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

Style procédural

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

Compare deux chaînes Unicode en fonction des règles de collation.

Liste de paramètres

object

Objet Collator.

string1

La première chaîne à comparer.

string2

La deuxième chaîne à comparer.

Valeurs de retour

Résultats de comparaison

  • 1 si string1 est plus grand que string2 ;

  • 0 si string1 est égal à string2;

  • -1 si string1 est plus petit que string2 .

En cas d'erreur, un booléen false est retourné.

Avertissement

Cette fonction peut retourner false, mais elle peut aussi retourner une valeur équivalent à false. Veuillez lire la section sur les booléens pour plus d'informations. Utilisez l'opérateur === pour tester la valeur de retour exacte de cette fonction.

Exemples

Exemple #1 Exemple avec 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 ) {
    echo 
"s1 est plus grand que s2\n";
} else if( 
$res ) {
    echo 
"s1 est plus petit que s2\n";
} else {
    echo 
"s1 est égal à s2\n";
}
?>

L'exemple ci-dessus va afficher :


s1 est plus grand que s2

Voir aussi

add a note add a note

User Contributed Notes 1 note

up
1
erik at eldata dot se
2 months ago
The Collator class with method compare does what the non existing mb_strcmp, mb_strcasecmp, mb_strnatcmp and mb_strnatcasecmp would do for multibyte strings (UTF8) - but better! :-)

For "case": the Collator is case insensitive due to Collator::CASE_FIRST defaults to Collator::OFF, but can be changed with method setAttribute.

For "nat" (natural sort order for numbers): use method setAttribute with Collator::NUMERIC_COLLATION and Collator:ON to enable.
To Top