(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
Proporciona herramientas de comparación de strings, con soporte para las convenciones locales en los ordenamientos.
Collator::FRENCH_COLLATION
     int
    Se ordenan los strings con diferentes acentos, al final de la cadena. Este atributo se configura automáticamente a On para las locales francesas, y algunas otras. Los usuarios no necesitan configurar explícitamente este atributo. Existe un coste de rendimiento al comparar strings cuando este atributo está a On, pero el tamaño de las claves de ordenación permanece inalterado. Los valores posibles son:
Collator::ONCollator::OFF(por omisión)Collator::DEFAULT_VALUE
Ejemplo #1 Reglas de FRENCH_COLLATION
Collator::ALTERNATE_HANDLING
    El atributo alterno se utiliza para controlar el manejo de caracteres variables de UCA: espacios en blanco, puntuación y símbolos. Si Alternate está configurado a NonIgnorable (N), entonces las diferencias entre estos caracteres tienen la misma importancia que las diferencias entre letras. Si Alternate está configurado a Shifted (S), entonces estos caracteres tendrán una importancia menor. El valor Shifted se utiliza a menudo conjuntamente con Quaternary que vale Strength. En este caso, los espacios en blanco, la puntuación y los símbolos se consideran durante la comparación, pero únicamente si los otros aspectos de la cadena (letras base, acentos y mayúsculas) son todos idénticos. Si Alternate no está configurado a Shifted, no hay entonces diferencia entre una Strength de 3 y una Strength de 4. Para más información y ejemplos, véase Variable_Weighting en » UCA. La razón por la que los valores de Alternate no son simplemente On y Off es que valores adicionales para Alternate podrían ser añadidos en el futuro. La opción UCA Blanked se expresa con un valor de Strength a 3, y Alternate configurado a Shifted. El valor por omisión para la mayoría de locales es NonIgnorable. Si Shifted es seleccionado, puede ser más lento si hay muchas cadenas que son idénticas, excepto por la puntuación: el tamaño de la clave de ordenación permanecerá inalterado, a menos que el nivel de Strength sea elevado.
Los valores posibles son:
Ejemplo #2 Reglas ALTERNATE_HANDLING
Collator::CASE_FIRST
     int
    
      El atributo Case_First se utiliza para controlar si las mayúsculas
      deben ser consideradas antes que las minúsculas, y viceversa, en
      ausencia de otros discriminantes. Los valores posibles son
      Uppercase_First (U) y Lowercase_First
      (L), más los valores estándar Default y
      Off. No hay casi diferencia entre Off y Lowercase_First
      en términos de resultados, por lo que los usuarios típicos no utilizarán
      Lowercase_First: únicamente Off o Uppercase_First. (Aquellos interesados
      en las diferencias entre X y L deberán consultar la sección
      Collation Customization). Especificar L o U no cambiará
      el rendimiento de comparación, pero afectará el tamaño de la clave de ordenación.
     
Los valores posibles son:
Collator::OFF(por omisión)Collator::LOWER_FIRSTCollator::UPPER_FIRSTCollator:DEFAULT
Ejemplo #3 Reglas CASE_FIRST
Collator::CASE_LEVEL
     int
    El atributo Case_Level se utiliza para ignorar los acentos, pero no la casilla. En estas situaciones, póngase el atributo Strength a Primary, y Case_Level a On. En la mayoría de locales, este atributo está a Off por omisión. Existe un pequeño coste de rendimiento para la comparación de cadenas, e impacto en el tamaño de los índices de ordenación si este atributo está a On.
Los valores posibles son:
Collator::OFF(por omisión)Collator::ONCollator::DEFAULT_VALUE
Ejemplo #4 Reglas CASE_LEVEL
Collator::NORMALIZATION_MODE
     int
    El atributo Normalization determina si se debe normalizar totalmente el texto o no, para la comparación. Aunque este atributo esté a Off (que es el caso por omisión para muchas locales), los textos comparados para un uso ordinario serán correctos (para detalles, véase UTN #5). Solo habrá un problema si las marcas de acento no son canónicas. Si este atributo está a On, entonces los mejores resultados están garantizados para todos los textos. Existe un coste de comparación medio si este atributo vale On, dependiendo de la frecuencia de las secuencias que requieren normalización. No hay efecto significativo en el tamaño de los índices de ordenación. Si el texto está en las formas de normalización NFD o NFKD, no es necesario activar la opción de Normalization.
Los valores posibles son:
Collator::OFF(por omisión)Collator::ONCollator::DEFAULT_VALUECollator::STRENGTH
     int
    El servicio de collation ICU soporta muchos niveles de comparación (llamados "Levels", pero también conocidos como "Strengths"). Con estas categorías, ICU puede ordenar strings con precisión, según las convenciones locales. Sin embargo, permitiendo el uso selectivo de los niveles, la búsqueda de un string en un texto puede ser realizada, a partir de diferentes condiciones. Para más información, véase el capítulo collator_set_strength().
Los valores posibles son:
Collator::HIRAGANA_QUATERNARY_MODE
     int
    La compatibilidad con JIS x 4061 requiere la introducción de un nivel adicional para distinguir caracteres Hiragana y Katakana. Si la compatibilidad con el estándar es necesaria, entonces este atributo debe ser utilizado a On, y la Strength debe tomar el valor de Quaternary. Esto afectará el tamaño de los índices de ordenación, y el rendimiento de comparaciones de strings.
Los valores posibles son:
Collator::OFF(por omisión)Collator::ONCollator::DEFAULT_VALUECollator::NUMERIC_COLLATION
     int
    Cuando está activado, este atributo genera una clave de collation para los valores numéricos de sub-cadenas. Es un método para que '100' sea ordenado después de '2'.
Los valores posibles son:
Collator::OFF(por omisión)Collator::ONCollator::DEFAULT_VALUECollator::DEFAULT_VALUE
     int
    Collator::PRIMARY
     int
    Collator::SECONDARY
     int
    Collator::TERTIARY
     int
    Collator::DEFAULT_STRENGTH
     int
    Collator::QUATERNARY
     int
    Collator::IDENTICAL
     int
    Collator::OFF
     int
    Collator::ON
     int
    Collator::SHIFTED
     int
    Collator::NON_IGNORABLE
     int
    Collator::LOWER_FIRST
     int
    Collator::UPPER_FIRST
     int
    Collator::SORT_REGULAR
     int
    Collator::SORT_STRING
     int
    Collator::SORT_NUMERIC
     int
    | Versión | Descripción | 
|---|---|
| 8.4.0 | Las constantes de clase ahora están tipadas. | 
