PHP 8.4.0 RC4 available for testing

Collator::compare

collator_compare

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

Collator::compare -- collator_compareComparar dos cadenas Unicode

Descripción

Estilo orientado a objetos

public Collator::compare(string $str1, string $str2): int

Estilo por procedimientos

collator_compare(Collator $coll, string $str1, string $str2): int

Compara dos cadenas Unicode según las normas de cotejo.

Parámetros

coll

Un objeto Collator.

str1

La primera cadena a comparar.

str2

La segunda cadena a comparar.

Valores devueltos

Devuelve el resultado de la comparación:

  • 1 si str1 es mayor que str2 ;

  • 0 si str1 es igual a str2;

  • -1 si str1 es menor que str2 .

En caso de error es devuelto el valor false de tipo boolean.

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 de collator_compare()

<?php
$s1
= 'Hola';
$s2 = 'hola';

$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

Ver también

add a note

User Contributed Notes 1 note

up
1
erik at eldata dot se
3 years 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