Колатор
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
Колатор
Референца за `class.collator.php` со подобрена типографија и навигација.
The Collator class
Класата Collator
Вовед
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
Синопсис на класата
Претходно дефинирани константи
-
Collator::FRENCH_COLLATIONint -
Обезбедува можност за споредба на низи со поддршка за соодветни подредби чувствителни на локалот. На Сортирај низи со различни акценти од задниот дел на низата. Овој атрибут автоматски се поставува на Наза француските локали и неколку други. Корисниците нормално не би требало експлицитно да го поставуваат овој атрибут. Постои цена на перформансите при споредба на низи кога е поставен
Collator::ONCollator::OFF(стандардно)Collator::DEFAULT_VALUE
, но должината на клучот за сортирање не е засегната. Можни вредности се:
- Пример #1 ПРАВИЛА ЗА ФРАНЦУСКО КОЛАЦИЈА
- F=OFF cote < coté < côte < côté
-
Collator::ALTERNATE_HANDLING -
F=ON cote < côte < coté < côté NonIgnorable Атрибутот Alternate се користи за контрола на ракувањето со таканаречените променливи знаци во UCA: празно место, пунктуација и симболи. Ако Alternate е поставен на (N), тогаш разликите меѓу овие знаци се од иста важност како разликите меѓу буквите. Ако Alternate е поставен на Shifted (N), тогаш разликите меѓу овие знаци се од иста важност како разликите меѓу буквите. Ако Alternate е поставен на (S), тогаш овие знаци се од само мала важност. Вредноста често се користи во комбинација со Strength поставен на Quaternary. Во таков случај, празно место, пунктуација и симболи се земаат предвид при споредба на низи, но само ако сите други аспекти на низите (основни букви, акценти и големина) се идентични. Ако Alternate не е поставен на Shifted, тогаш нема разлика помеѓу Strength од 3 и Strength од 4. За повеќе информации и примери, видете Variable_Weighting во» UCA На and Исклучено . Причината зошто вредностите Alternate не се едноставно
е што дополнителни вредности Alternate може да се додадат во иднина. Опцијата UCA Blanked се изразува со Strength поставен на 3, и Alternate поставен на Shifted. Стандардно за повеќето локали е NonIgnorable. Ако е избрано Shifted, може да биде побавно ако има многу низи кои се исти освен пунктуацијата; должината на клучот за сортирање нема да биде засегната освен ако нивото на јачина исто така не се зголеми.
Example #2 ALTERNATE_HANDLING rules
- S=3, A=N di Silva < Di Silva < diSilva < U.S.A. < USA
- Example #2 ALTERNATE_HANDLING rules
- S=3, A=N di Silva < Di Silva < diSilva < U.S.A. < USA
-
Collator::CASE_FIRSTint -
S=3, A=S di Silva = diSilva < Di Silva < U.S.A. = USA Uppercase_First S=4, A=S di Silva < diSilva < Di Silva < U.S.A. < USA Lowercase_First The Case_First attribute is used to control whether uppercase letters come before lowercase letters or vice versa, in the absence of other differences in the strings. The possible values are Стандардно and Исклучено(U) and
Collation Customization(L), plus the standardе што дополнителни вредности Alternate може да се додадат во иднина. Опцијата UCA Blanked се изразува со Strength поставен на 3, и Alternate поставен на Shifted. Стандардно за повеќето локали е NonIgnorable. Ако е избрано Shifted, може да биде побавно ако има многу низи кои се исти освен пунктуацијата; должината на клучот за сортирање нема да биде засегната освен ако нивото на јачина исто така не се зголеми.
Collator::OFF(стандардно)Collator::LOWER_FIRSTCollator::UPPER_FIRSTCollator:DEFAULT
. There is almost no difference between the Off and Lowercase_First options in terms of results, so typically users will not use Lowercase_First: only Off or Uppercase_First. (People interested in the detailed differences between X and L should consult the
- ). Specifying either L or U won't affect string comparison performance, but will affect the sort key length.
- Example #3 CASE_FIRST rules
-
Collator::CASE_LEVELint -
C=X or C=L "china" < "China" < "denmark" < "Denmark" C=U "China" < "china" < "Denmark" < "denmark"The Case_Level attribute is used when ignoring accents but not case. In such a situation, set Strength to be НаPrimary На.
е што дополнителни вредности Alternate може да се додадат во иднина. Опцијата UCA Blanked се изразува со Strength поставен на 3, и Alternate поставен на Shifted. Стандардно за повеќето локали е NonIgnorable. Ако е избрано Shifted, може да биде побавно ако има многу низи кои се исти освен пунктуацијата; должината на клучот за сортирање нема да биде засегната освен ако нивото на јачина исто така не се зголеми.
Collator::OFF(стандардно)Collator::ONCollator::DEFAULT_VALUE
, and Case_Level to be
- . In most locales, this setting is Off by default. There is a small string comparison performance and sort key impact if this attribute is set to be
- Example #4 CASE_LEVEL rules
-
Collator::NORMALIZATION_MODEint -
S=1, E=X role = Role = rôle На, тогаш најдобрите резултати се загарантирани за сите можни текстуални влезови. Постои среден трошок за перформансите при споредба на низи ако овој атрибут е На, во зависност од фреквенцијата на секвенци што бараат нормализација. Нема значителен ефект врз должината на клучот за сортирање. Ако е познато дека влезната текстуална порака е во форми на нормализација NFD или NFKD, нема потреба да се овозможи оваа опција за нормализација.
е што дополнителни вредности Alternate може да се додадат во иднина. Опцијата UCA Blanked се изразува со Strength поставен на 3, и Alternate поставен на Shifted. Стандардно за повеќето локали е NonIgnorable. Ако е избрано Shifted, може да биде побавно ако има многу низи кои се исти освен пунктуацијата; должината на клучот за сортирање нема да биде засегната освен ако нивото на јачина исто така не се зголеми.
Collator::OFF(стандардно)Collator::ONCollator::DEFAULT_VALUE
-
Collator::STRENGTHint -
ICU услугата за споредба поддржува многу нивоа на споредба (именувани „Нивоа“, но познати и како „Јачини“). Постоењето на овие категории му овозможува на ICU прецизно да ги сортира низите според локалните конвенции. Сепак, со дозволување на селективно вработување на нивоата, пребарувањето на низа во текст може да се изврши со различни услови за совпаѓање. За подетални информации, видете collator_set_strength() chapter.
е што дополнителни вредности Alternate може да се додадат во иднина. Опцијата UCA Blanked се изразува со Strength поставен на 3, и Alternate поставен на Shifted. Стандардно за повеќето локали е NonIgnorable. Ако е избрано Shifted, може да биде побавно ако има многу низи кои се исти освен пунктуацијата; должината на клучот за сортирање нема да биде засегната освен ако нивото на јачина исто така не се зголеми.
-
Collator::HIRAGANA_QUATERNARY_MODEint -
Компатибилноста со JIS x 4061 бара воведување на дополнително ниво за разликување на хирагана и катакана знаци. Ако е потребна компатибилност со тој стандард, тогаш овој атрибут треба да биде поставен На, а јачината поставена на Кватернерна. Ова ќе влијае на должината на клучот за сортирање и на перформансите при споредба на низи.
е што дополнителни вредности Alternate може да се додадат во иднина. Опцијата UCA Blanked се изразува со Strength поставен на 3, и Alternate поставен на Shifted. Стандардно за повеќето локали е NonIgnorable. Ако е избрано Shifted, може да биде побавно ако има многу низи кои се исти освен пунктуацијата; должината на клучот за сортирање нема да биде засегната освен ако нивото на јачина исто така не се зголеми.
Collator::OFF(стандардно)Collator::ONCollator::DEFAULT_VALUE
-
Collator::NUMERIC_COLLATIONint -
Кога е вклучен, овој атрибут генерира клуч за споредба за нумеричката вредност на поднизи од цифри. Ова е начин да се добие „100“ да се сортира ПО „2“.
е што дополнителни вредности Alternate може да се додадат во иднина. Опцијата UCA Blanked се изразува со Strength поставен на 3, и Alternate поставен на Shifted. Стандардно за повеќето локали е NonIgnorable. Ако е избрано Shifted, може да биде побавно ако има многу низи кои се исти освен пунктуацијата; должината на клучот за сортирање нема да биде засегната освен ако нивото на јачина исто така не се зголеми.
Collator::OFF(стандардно)Collator::ONCollator::DEFAULT_VALUE
-
Collator::DEFAULT_VALUEint -
Collator::PRIMARYint -
Collator::SECONDARYint -
Collator::TERTIARYint -
Collator::DEFAULT_STRENGTHint -
Collator::QUATERNARYint -
Collator::IDENTICALint -
Collator::OFFint -
Collator::ONint -
Collator::SHIFTEDint -
Collator::NON_IGNORABLEint -
Collator::LOWER_FIRSTint -
Collator::UPPER_FIRSTint -
Collator::SORT_REGULARint -
Collator::SORT_STRINGint -
Collator::SORT_NUMERICint
Дневник на промени
| Верзија | = NULL |
|---|---|
| 8.4.0 | Константите на класата сега се типизирани. |
Содржина
- Collator::asort — Сортирај низа задржувајќи асоцијација на индекс
- Collator::compare — Спореди два Unicode низа
- Collator::__construct — Создади споредувач
- Collator::create — Создади споредувач
- Collator::getAttribute — Земи вредност на атрибут за споредување
- Collator::getErrorCode — Земи код за последна грешка на споредувачот
- Collator::getErrorMessage — Земи текст за код за последна грешка на споредувачот
- Collator::getLocale — Земи име на локал на споредувачот
- Collator::getSortKey — Земи клуч за сортирање за низа
- Collator::getStrength — Земи јачина на тековно споредување
- Collator::setAttribute — Постави атрибут за споредување
- Collator::setStrength — Постави јачина на споредување
- Collator::sort — Сортирај низа користејќи наведен споредувач
- Collator::sortWithSortKeys — Сортирај низа користејќи наведен споредувач и клучеви за сортирање