Collator::compare

collator_compare

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

Collator::compare -- collator_compareComparar dos strings Unicode

Descripción

Estilo orientado a objetos

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

Estilo por procedimientos

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

Comparar dos strings Unicode según las reglas de collation.

Parámetros

object

Objeto Collator.

string1

El primer string a comparar.

string2

El segundo string a comparar.

Valores devueltos

Resultados de comparación

  • 1 si string1 es mayor que string2;

  • 0 si string1 es igual a string2;

  • -1 si string1 es menor que string2.

Retorna false en caso de fallo.

Advertencia

Esta función puede devolver el valor booleano false, pero también puede devolver un valor no booleano que se evalúa como false. Por favor lea la sección sobre Booleanos para más información. Use el operador === para comprobar el valor devuelto por esta función.

Ejemplos

Ejemplo #1 Ejemplo con 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 > 0 ) {
echo
"s1 es mayor que s2\n";
} else if(
$res < 0 ) {
echo
"s1 es menor que s2\n";
} else {
echo
"s1 es igual a s2\n";
}
?>

El resultado del ejemplo sería:


s1 es mayor que s2

Ejemplo #2 Comparar strings sin diacríticos o sensibilidad a mayúsculas/minúsculas

<?php
$c
= new Collator( 'en' );
$c->setStrength( Collator::PRIMARY );
if (
$c->compare( 'Séan', 'Sean' ) == 0 )
{
echo
"The same\n";
}

El resultado del ejemplo sería:


The same

Este ejemplo solicita al collator que compare solo teniendo en cuenta los caracteres base. La documentación para Collator->setStrength() explica las diferentes fuerzas.

Ver también