(PHP 5 >= 5.3.0,PHP 7,PHP 8,PECL intl >= 1.0.0)
提供字符串比较功能,并支持相应的区域设置敏感排序。
Collator::FRENCH_COLLATION
int按字符串末尾的不同重音符号对字符串进行排序。此属性会自动为法语语言环境和其他一些语言环境设置为开启。用户通常不需要显式设置此属性。设置为开启时,字符串比较性能会有一定的开销,但排序键长度不受影响。可能的值为
示例 #1 FRENCH_COLLATION 规则
Collator::ALTERNATE_HANDLING
Alternate 属性用于控制 UCA 中所谓的可变字符的处理方式:空格、标点符号和符号。如果 Alternate 设置为非忽略 (N),则这些字符之间的差异与字母之间的差异同等重要。如果 Alternate 设置为移位 (S),则这些字符仅具有次要重要性。移位值通常与设置为四级的强度结合使用。在这种情况下,在比较字符串时会考虑空格、标点符号和符号,但前提是字符串的其他所有方面(基本字母、重音符号和大小写)都相同。如果 Alternate 未设置为移位,则强度为 3 和强度为 4 之间没有区别。有关更多信息和示例,请参阅 » UCA 中的 Variable_Weighting。Alternate 值不是简单地设置为开启和关闭的原因是将来可能会添加其他 Alternate 值。UCA 选项 Blanked 通过将强度设置为 3 以及 Alternate 设置为移位来表示。大多数语言环境的默认值为非忽略。如果选择移位,如果有很多字符串除了标点符号外都相同,则可能会变慢;除非强度级别也提高,否则排序键长度不会受到影响。
可能的值为
示例 #2 ALTERNATE_HANDLING 规则
Collator::CASE_FIRST
intCase_First 属性用于控制在字符串没有其他差异的情况下,大写字母是否排在小写字母之前或反之亦然。可能的值为大写优先 (U) 和小写优先 (L),以及标准的默认值和关闭。从结果来看,关闭和小写优先选项几乎没有区别,因此用户通常不会使用小写优先:仅使用关闭或大写优先。(对 X 和 L 之间细微差异感兴趣的人员应查阅Collation Customization
)。指定 L 或 U 不会影响字符串比较性能,但会影响排序键长度。
可能的值为
Collator::OFF
(默认)Collator::LOWER_FIRST
Collator::UPPER_FIRST
Collator:DEFAULT
示例 #3 CASE_FIRST 规则
Collator::CASE_LEVEL
int在忽略重音符号但不忽略大小写的情况下使用 Case_Level 属性。在这种情况下,将强度设置为主级,并将 Case_Level 设置为开启。在大多数语言环境中,此设置默认为关闭。如果此属性设置为开启,则字符串比较性能和排序键会略有影响。
可能的值为
示例 #4 CASE_LEVEL 规则
Collator::NORMALIZATION_MODE
intNormalization 设置确定在比较中是否彻底规范化文本。即使设置关闭(这是许多语言环境的默认设置),以常用方式表示的文本也会正确比较(有关详细信息,请参阅 UTN #5)。只有当重音标记的顺序不规范时,才会出现问题。如果设置开启,则可以保证对所有可能的文本输入获得最佳结果。如果此属性开启,则字符串比较性能会有一定的开销,具体取决于需要规范化的序列的频率。对排序键长度没有显着影响。如果已知输入文本采用 NFD 或 NFKD 规范化形式,则无需启用此 Normalization 选项。
可能的值为
Collator::STRENGTH
intICU 排序服务支持许多级别的比较(称为“级别”,但也称为“强度”)。拥有这些类别使 ICU 能够根据本地约定精确地对字符串进行排序。但是,通过允许选择性地使用这些级别,可以使用各种匹配条件在文本中搜索字符串。有关更多详细信息,请参阅collator_set_strength() 章节。
可能的值为
Collator::HIRAGANA_QUATERNARY_MODE
int与 JIS x 4061 的兼容性要求引入一个额外的级别来区分平假名和片假名字符。如果需要与该标准兼容,则应将此属性设置为开启,并将强度设置为四级。这将影响排序键长度和字符串比较性能。
可能的值为
Collator::NUMERIC_COLLATION
int启用此属性后,它会为数字子字符串的数值生成排序键。这是一种使“100”在排序时排在“2”之后的方法。
可能的值为
Collator::DEFAULT_VALUE
intCollator::PRIMARY
intCollator::SECONDARY
intCollator::TERTIARY
intCollator::DEFAULT_STRENGTH
intCollator::QUATERNARY
intCollator::IDENTICAL
intCollator::OFF
intCollator::ON
intCollator::SHIFTED
intCollator::NON_IGNORABLE
intCollator::LOWER_FIRST
intCollator::UPPER_FIRST
intCollator::SORT_REGULAR
int
Collator::SORT_STRING
int
Collator::SORT_NUMERIC
int
版本 | 描述 |
---|---|
8.4.0 | 类常量现在已进行类型化。 |