<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/book.intl.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'class.collator.php',
    1 => 'Collator',
    2 => 'Класс Collator',
  ),
  'up' => 
  array (
    0 => 'book.intl.php',
    1 => 'intl',
  ),
  'prev' => 
  array (
    0 => 'intl.examples.basic.php',
    1 => 'Основы использования модуля',
  ),
  'next' => 
  array (
    0 => 'collator.asort.php',
    1 => 'Collator::asort',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/intl/collator.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/class.collator.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="class.collator" class="reference">
 <h1 class="title">Класс Collator</h1>
 

 <div class="partintro"><p class="verinfo">(PHP 5 &gt;= 5.3.0, PHP 7, PHP 8, PECL intl &gt;= 1.0.0)</p>

  
  <div class="section" id="collator.intro">
   <h2 class="title">Введение</h2>
   <p class="para">
    Сравнивает строки с поддержкой порядка сортировки
    с учётом региональных настроек.
   </p>
  </div>
  

  <div class="section" id="collator.synopsis">
   <h2 class="title">Обзор класса</h2>

   
   <div class="classsynopsis"><div class="classsynopsisinfo">
    
     <span class="modifier">class</span> <strong class="classname"><strong class="classname">Collator</strong></strong>
     {</div>

    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Константы */</div>
    <div class="fieldsynopsis">
     <span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.collator.php#collator.constants.default-value"><var class="varname">DEFAULT_VALUE</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.collator.php#collator.constants.primary"><var class="varname">PRIMARY</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.collator.php#collator.constants.secondary"><var class="varname">SECONDARY</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.collator.php#collator.constants.tertiary"><var class="varname">TERTIARY</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.collator.php#collator.constants.default-strength"><var class="varname">DEFAULT_STRENGTH</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.collator.php#collator.constants.quaternary"><var class="varname">QUATERNARY</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.collator.php#collator.constants.identical"><var class="varname">IDENTICAL</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.collator.php#collator.constants.off"><var class="varname">OFF</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.collator.php#collator.constants.on"><var class="varname">ON</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.collator.php#collator.constants.shifted"><var class="varname">SHIFTED</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.collator.php#collator.constants.non-ignorable"><var class="varname">NON_IGNORABLE</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.collator.php#collator.constants.lower-first"><var class="varname">LOWER_FIRST</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.collator.php#collator.constants.upper-first"><var class="varname">UPPER_FIRST</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.collator.php#collator.constants.french-collation"><var class="varname">FRENCH_COLLATION</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.collator.php#collator.constants.alternate-handling"><var class="varname">ALTERNATE_HANDLING</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.collator.php#collator.constants.case-first"><var class="varname">CASE_FIRST</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.collator.php#collator.constants.case-level"><var class="varname">CASE_LEVEL</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.collator.php#collator.constants.normalization-mode"><var class="varname">NORMALIZATION_MODE</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.collator.php#collator.constants.strength"><var class="varname">STRENGTH</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.collator.php#collator.constants.hiragana-quaternary-mode"><var class="varname">HIRAGANA_QUATERNARY_MODE</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.collator.php#collator.constants.numeric-collation"><var class="varname">NUMERIC_COLLATION</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.collator.php#collator.constants.sort-regular"><var class="varname">SORT_REGULAR</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.collator.php#collator.constants.sort-string"><var class="varname">SORT_STRING</var></a></var>;</div>

    <div class="fieldsynopsis"><span class="modifier">public</span>
     <span class="modifier">const</span>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
      <var class="fieldsynopsis_varname"><a href="class.collator.php#collator.constants.sort-numeric"><var class="varname">SORT_NUMERIC</var></a></var>;</div>


    <div class="classsynopsisinfo classsynopsisinfo_comment">/* Методы */</div>
    <div class="constructorsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><a href="collator.construct.php" class="methodname">__construct</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$locale</code></span>)</div>

    <div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="collator.asort.php" class="methodname">asort</a></span>(<span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter reference">&$array</code></span>, <span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$flags</code><span class="initializer"> = <strong><code><a href="class.collator.php#collator.constants.sort-regular">Collator::SORT_REGULAR</a></code></strong></span></span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="collator.compare.php" class="methodname">compare</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$string1</code></span>, <span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$string2</code></span>): <span class="type"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="modifier">static</span> <span class="methodname"><a href="collator.create.php" class="methodname">create</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$locale</code></span>): <span class="type"><span class="type"><a href="language.types.null.php" class="type null">?</a></span><span class="type"><a href="class.collator.php" class="type Collator">Collator</a></span></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="collator.getattribute.php" class="methodname">getAttribute</a></span>(<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$attribute</code></span>): <span class="type"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="collator.geterrorcode.php" class="methodname">getErrorCode</a></span>(): <span class="type"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="collator.geterrormessage.php" class="methodname">getErrorMessage</a></span>(): <span class="type"><span class="type"><a href="language.types.string.php" class="type string">string</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="collator.getlocale.php" class="methodname">getLocale</a></span>(<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$type</code></span>): <span class="type"><span class="type"><a href="language.types.string.php" class="type string">string</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="collator.getsortkey.php" class="methodname">getSortKey</a></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$string</code></span>): <span class="type"><span class="type"><a href="language.types.string.php" class="type string">string</a></span>|<span class="type"><a href="language.types.singleton.php" class="type false">false</a></span></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="collator.getstrength.php" class="methodname">getStrength</a></span>(): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="collator.setattribute.php" class="methodname">setAttribute</a></span>(<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$attribute</code></span>, <span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$value</code></span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="collator.setstrength.php" class="methodname">setStrength</a></span>(<span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$strength</code></span>): <span class="type"><a href="language.types.singleton.php" class="type true">true</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="collator.sort.php" class="methodname">sort</a></span>(<span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter reference">&$array</code></span>, <span class="methodparam"><span class="type"><a href="language.types.integer.php" class="type int">int</a></span> <code class="parameter">$flags</code><span class="initializer"> = <strong><code><a href="class.collator.php#collator.constants.sort-regular">Collator::SORT_REGULAR</a></code></strong></span></span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>
<div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="methodname"><a href="collator.sortwithsortkeys.php" class="methodname">sortWithSortKeys</a></span>(<span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter reference">&$array</code></span>): <span class="type"><a href="language.types.boolean.php" class="type bool">bool</a></span></div>

   }</div>
   

  </div>

  


<div class="section" id="intl.collator-constants">
 <h2 class="title">Предопределённые константы</h2>
 <p class="para">
  <dl>
   
    <dt id="collator.constants.french-collation">
     <strong><code><a href="class.collator.php#collator.constants.french-collation">Collator::FRENCH_COLLATION</a></code></strong>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      Сортировка строк с различными акцентами с конца строки. Этот атрибут автоматически устанавливается
      в <em>On</em> для французской и некоторых других локалей.
      Обычно пользователям нет необходимости специально задавать этот параметр.
      Существуют издержки производительности при сравнении строк, если этот параметр
      установлен как <em>On</em>, но это никак не влияет
      на длину ключа сортировки. Возможные значения:
      <ul class="simplelist">
       <li><strong><code><a href="class.collator.php#collator.constants.on">Collator::ON</a></code></strong></li>
       <li><strong><code><a href="class.collator.php#collator.constants.off">Collator::OFF</a></code></strong>(по умолчанию)</li>
       <li><strong><code><a href="class.collator.php#collator.constants.default-value">Collator::DEFAULT_VALUE</a></code></strong></li>
      </ul>
     </p>
     <p class="para">
      <div class="example" id="example-1">
       <p><strong>Пример #1 Правила FRENCH_COLLATION</strong></p>
       <div class="example-contents"><p>
        <ul class="simplelist">
         <li>F=OFF cote < coté < côte < côté </li>
         <li>F=ON cote < côte < coté < côté</li>
        </ul>
       </p></div>
      </div>
     </p>
    </dd>
   

   
    <dt id="collator.constants.alternate-handling">
     <strong><code><a href="class.collator.php#collator.constants.alternate-handling">Collator::ALTERNATE_HANDLING</a></code></strong>
    </dt>
    <dd>
     <p class="para">
      Атрибут &quot;Alternate&quot; используется для контроля обработки
      так называемых &quot;переменных символов&quot; в UCA: пробелы, знаки
      пунктуации и символы. Если &quot;Alternate&quot; установлен как <em>NonIgnorable</em> (N),
      то различия в этих символах будут считаться такими же значимыми, как и различия
      между буквами. Если &quot;Alternate&quot; установлен как <em>Shifted</em> (S),
      то эти символы будут иметь низкую значимость. Значение
      <em>Shifted</em> зачастую используется в комбинации с
      <em>Strength</em>, установленным в &quot;Quaternary&quot;. В таких случаях подобные символы
      будут учитываться при сортировке, но только если все остальные аспекты строк
      (буквы, акценты, регистр) идентичны. Если &quot;Alternate&quot; не установлен как &quot;Shifted&quot;, то разницы
      между уровнями &quot;Strength&quot; 3 и 4 не будет. Более подробно и с примерами читайте в разделе
      &quot;Variable_Weighting&quot; на сайте <a href="https://www.unicode.org/reports/tr10/" class="link external">&raquo;&nbsp;UCA</a>.
      Причина, по которой значения для &quot;Alternate&quot; — это не просто
      <em>On</em> и <em>Off</em>, заключается в том, что в будущем
      могут быть добавлены дополнительные варианты. Опция UCA &quot;Blanked&quot; выражается с помощью
      &quot;Strength&quot;, установленного в 3, и &quot;Alternate&quot;, установленного в &quot;Shifted&quot;.
      Для большинства локалей этот параметр по умолчанию равен &quot;NonIgnorable&quot;. Если
      задано &quot;Shifted&quot;, то обработка может быть медленнее в случае, если у вас
      много строк, отличающихся только пунктуацией. Длина ключа сортировки не затрагивается,
      только если также не увеличивался уровень &quot;Strength&quot;.
     </p>
     <p class="para">
      Возможные значения:
      <ul class="simplelist">
       <li><strong><code><a href="class.collator.php#collator.constants.non-ignorable">Collator::NON_IGNORABLE</a></code></strong>(по умолчанию)</li>
       <li><strong><code><a href="class.collator.php#collator.constants.shifted">Collator::SHIFTED</a></code></strong></li>
       <li><strong><code><a href="class.collator.php#collator.constants.default-value">Collator::DEFAULT_VALUE</a></code></strong></li>
      </ul>
     </p>
     <p class="para">
      <div class="example" id="example-2">
       <p><strong>Пример #2 ALTERNATE_HANDLING rules</strong></p>
       <div class="example-contents"><p>
        <ul class="simplelist">
         <li>
          S=3, A=N di Silva < Di Silva < diSilva < U.S.A. < USA
         </li>
         <li>
          S=3, A=S di Silva = diSilva < Di Silva < U.S.A. = USA
         </li>
         <li>
          S=4, A=S di Silva < diSilva < Di Silva < U.S.A. < USA
         </li>
        </ul>
       </p></div>
      </div>
     </p>
    </dd>
   

   
    <dt id="collator.constants.case-first">
     <strong><code><a href="class.collator.php#collator.constants.case-first">Collator::CASE_FIRST</a></code></strong>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      Атрибут &quot;Case_First&quot; используется для определения порядка сортировки в зависимости
      от регистра символов при отсутствии других различий в строках.
      Возможные значения: <em>Uppercase_First</em>(U),
      <em>Lowercase_First</em> (L), <em>Default</em>
      и <em>Off</em>.
      Между &quot;Off&quot; и &quot;Lowercase_First&quot; практически нет разницы, так что пользователи
      обычно не используют &quot;Lowercase_First&quot;, а только Off или Uppercase_First. (Те, кому действительно
      интересна разница между X и L могут обратиться к <code class="literal">Настройке Collation</code>).
      Задание L или U не сказывается на скорости сравнения, но влияет на длину ключа сортировки.
     </p>
     <p class="para">
      Возможные значения:
      <ul class="simplelist">
       <li><strong><code><a href="class.collator.php#collator.constants.off">Collator::OFF</a></code></strong>(по умолчанию)</li>
       <li><strong><code><a href="class.collator.php#collator.constants.lower-first">Collator::LOWER_FIRST</a></code></strong></li>
       <li><strong><code><a href="class.collator.php#collator.constants.upper-first">Collator::UPPER_FIRST</a></code></strong></li>
       <li><strong><code>Collator:DEFAULT</code></strong></li>
      </ul>
     </p>
     <p class="para">
      <div class="example" id="example-3">
       <p><strong>Пример #3 Правила CASE_FIRST</strong></p>
       <div class="example-contents"><p>
        <ul class="simplelist">
         <li>C=X or C=L "china" < "China" < "denmark" < "Denmark"</li>
         <li>C=U "China" < "china" < "Denmark" < "denmark"</li>
        </ul>
       </p></div>
      </div>
     </p>
    </dd>
   

   
    <dt id="collator.constants.case-level">
     <strong><code><a href="class.collator.php#collator.constants.case-level">Collator::CASE_LEVEL</a></code></strong>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      Атрибут &quot;Case_Level&quot; используется, когда акценты не важны, а регистр важен.
      В таких случаях установите &quot;Strength&quot; в значение <em>Primary</em>,
      и &quot;Case_Level&quot; в <em>On</em>.
      В большинстве локалей по умолчанию задано значение &quot;Off&quot;. Оказывает незначительное
      влияние на скорость сравнения и длину ключа сортировки, если установлено как
      <em>On</em>.
     </p>
     <p class="para">
      Возможные значения:
      <ul class="simplelist">
       <li><strong><code><a href="class.collator.php#collator.constants.off">Collator::OFF</a></code></strong>(по умолчанию)</li>
       <li><strong><code><a href="class.collator.php#collator.constants.on">Collator::ON</a></code></strong></li>
       <li><strong><code><a href="class.collator.php#collator.constants.default-value">Collator::DEFAULT_VALUE</a></code></strong></li>
      </ul>
     </p>
     <p class="para">
      <div class="example" id="example-4">
       <p><strong>Пример #4 CASE_LEVEL rules</strong></p>
       <div class="example-contents"><p>
        <ul class="simplelist">
         <li>S=1, E=X role = Role = rôle</li>
         <li>S=1, E=O role = rôle < Role</li>
        </ul>
       </p></div>
      </div>
     </p>
    </dd>
   

   
    <dt id="collator.constants.normalization-mode">
     <strong><code><a href="class.collator.php#collator.constants.normalization-mode">Collator::NORMALIZATION_MODE</a></code></strong>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      Настройка &quot;Normalization&quot; определяет, будет ли текст тщательно нормализован
      в сравнении или нет. Даже если данная настройка отключена (по умолчанию для
      многих локалей), текст в общем случае будет сравниваться корректно (подробности в UTN #5).
      Проблемы могут быть только с отметками акцентов, расположенными в неканоничном порядке.
      Если установлено как <em>On</em>, то будет гарантирован наилучший результат
      для всех возможных вариантов текста. Однако, если установлено значение
      <em>On</em>, это скажется на скорости сравнения в
      зависимости от количества последовательностей, которые необходимо нормализовать.
      Какого-либо заметного влияния на длину ключа сортировки оказано не будет.
      Если заранее известно, что текст уже нормализован как NFD или NFKD, необходимости
      в использовании этой настройки нет.
     </p>
     <p class="para">
      Возможные значения:
      <ul class="simplelist">
       <li><strong><code><a href="class.collator.php#collator.constants.off">Collator::OFF</a></code></strong>(по умолчанию)</li>
       <li><strong><code><a href="class.collator.php#collator.constants.on">Collator::ON</a></code></strong></li>
       <li><strong><code><a href="class.collator.php#collator.constants.default-value">Collator::DEFAULT_VALUE</a></code></strong></li>
      </ul>
     </p>
    </dd>
   

   
    <dt id="collator.constants.strength">
     <strong><code><a href="class.collator.php#collator.constants.strength">Collator::STRENGTH</a></code></strong>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      ICU Collation Service поддерживает множество уровней сравнения (они называются
      &quot;Levels&quot;, но также известны как &quot;Strengths&quot;). Использование этих настроек
      позволяет ICU сортировать строки точно в соответствии с правилами локали.
      Однако, разрешая выборочное использование этих уровней, поиск
      строки в тексте можно производить с использованием различных условий.
      Больше информации описано в главе, посвящённой <span class="function"><a href="collator.setstrength.php" class="function">collator_set_strength()</a></span>.
     </p>
     <p class="para">
      Возможные значения:
      <ul class="simplelist">
       <li><strong><code><a href="class.collator.php#collator.constants.primary">Collator::PRIMARY</a></code></strong></li>
       <li><strong><code><a href="class.collator.php#collator.constants.secondary">Collator::SECONDARY</a></code></strong></li>
       <li><strong><code><a href="class.collator.php#collator.constants.tertiary">Collator::TERTIARY</a></code></strong>(по умолчанию)</li>
       <li><strong><code><a href="class.collator.php#collator.constants.quaternary">Collator::QUATERNARY</a></code></strong></li>
       <li><strong><code><a href="class.collator.php#collator.constants.identical">Collator::IDENTICAL</a></code></strong></li>
       <li><strong><code><a href="class.collator.php#collator.constants.default-value">Collator::DEFAULT_VALUE</a></code></strong></li>
      </ul>
     </p>
    </dd>
   

   
    <dt id="collator.constants.hiragana-quaternary-mode">
     <strong><code><a href="class.collator.php#collator.constants.hiragana-quaternary-mode">Collator::HIRAGANA_QUATERNARY_MODE</a></code></strong>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      Совместимость с JIS x 4061 требует введения дополнительного уровня
      для выделения символов Hiragana и Katakana. Если требуется совместимость
      со стандартом, то этот атрибут потребуется задать как
      <em>On</em>, а &quot;Strength&quot; как &quot;Quaternary&quot;.
      Это скажется на длине ключа сортировки и скорости сравнения.
     </p>
     <p class="para">
      Возможные значения:
      <ul class="simplelist">
       <li><strong><code><a href="class.collator.php#collator.constants.off">Collator::OFF</a></code></strong>(по умолчанию)</li>
       <li><strong><code><a href="class.collator.php#collator.constants.on">Collator::ON</a></code></strong></li>
       <li><strong><code><a href="class.collator.php#collator.constants.default-value">Collator::DEFAULT_VALUE</a></code></strong></li>
      </ul>
     </p>
    </dd>
   

   
    <dt id="collator.constants.numeric-collation">
     <strong><code><a href="class.collator.php#collator.constants.numeric-collation">Collator::NUMERIC_COLLATION</a></code></strong>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para">
      Если включён, этот атрибут генерирует ключ сравнения для числового значения
      подстроки, состоящей из цифр. Это позволяет при сортировке помещать &#039;100&#039; после &#039;2&#039;.
     </p>
     <p class="para">
      Возможные значения:
      <ul class="simplelist">
       <li><strong><code><a href="class.collator.php#collator.constants.off">Collator::OFF</a></code></strong>(по умолчанию)</li>
       <li><strong><code><a href="class.collator.php#collator.constants.on">Collator::ON</a></code></strong></li>
       <li><strong><code><a href="class.collator.php#collator.constants.default-value">Collator::DEFAULT_VALUE</a></code></strong></li>
      </ul>
     </p>
    </dd>
   

   
    <dt id="collator.constants.default-value">
     <strong><code><a href="class.collator.php#collator.constants.default-value">Collator::DEFAULT_VALUE</a></code></strong>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">

     </span>
    </dd>
   

   
    <dt id="collator.constants.primary">
     <strong><code><a href="class.collator.php#collator.constants.primary">Collator::PRIMARY</a></code></strong>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">

     </span>
    </dd>
   

   
    <dt id="collator.constants.secondary">
     <strong><code><a href="class.collator.php#collator.constants.secondary">Collator::SECONDARY</a></code></strong>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">

     </span>
    </dd>
   

   
    <dt id="collator.constants.tertiary">
     <strong><code><a href="class.collator.php#collator.constants.tertiary">Collator::TERTIARY</a></code></strong>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">

     </span>
    </dd>
   

   
    <dt id="collator.constants.default-strength">
     <strong><code><a href="class.collator.php#collator.constants.default-strength">Collator::DEFAULT_STRENGTH</a></code></strong>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">

     </span>
    </dd>
   

   
    <dt id="collator.constants.quaternary">
     <strong><code><a href="class.collator.php#collator.constants.quaternary">Collator::QUATERNARY</a></code></strong>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">

     </span>
    </dd>
   

   
    <dt id="collator.constants.identical">
     <strong><code><a href="class.collator.php#collator.constants.identical">Collator::IDENTICAL</a></code></strong>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">

     </span>
    </dd>
   

   
    <dt id="collator.constants.off">
     <strong><code><a href="class.collator.php#collator.constants.off">Collator::OFF</a></code></strong>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">

     </span>
    </dd>
   

   
    <dt id="collator.constants.on">
     <strong><code><a href="class.collator.php#collator.constants.on">Collator::ON</a></code></strong>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">

     </span>
    </dd>
   

   
    <dt id="collator.constants.shifted">
     <strong><code><a href="class.collator.php#collator.constants.shifted">Collator::SHIFTED</a></code></strong>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">

     </span>
    </dd>
   

   
    <dt id="collator.constants.non-ignorable">
     <strong><code><a href="class.collator.php#collator.constants.non-ignorable">Collator::NON_IGNORABLE</a></code></strong>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">

     </span>
    </dd>
   

   
    <dt id="collator.constants.lower-first">
     <strong><code><a href="class.collator.php#collator.constants.lower-first">Collator::LOWER_FIRST</a></code></strong>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">

     </span>
    </dd>
   

   
    <dt id="collator.constants.upper-first">
     <strong><code><a href="class.collator.php#collator.constants.upper-first">Collator::UPPER_FIRST</a></code></strong>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <span class="simpara">

     </span>
    </dd>
   

   
    <dt id="collator.constants.sort-regular">
     <strong><code><a href="class.collator.php#collator.constants.sort-regular">Collator::SORT_REGULAR</a></code></strong>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para"/>
    </dd>
   

   
    <dt id="collator.constants.sort-string">
     <strong><code><a href="class.collator.php#collator.constants.sort-string">Collator::SORT_STRING</a></code></strong>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para"/>
    </dd>
   

   
    <dt id="collator.constants.sort-numeric">
     <strong><code><a href="class.collator.php#collator.constants.sort-numeric">Collator::SORT_NUMERIC</a></code></strong>
     <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>
    </dt>
    <dd>
     <p class="para"/>
    </dd>
   
  </dl>
 </p>
</div>


  <div class="section" id="collator.changelog">
   <h2 class="title">Список изменений</h2>
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Версия</th>
       <th>Описание</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>8.4.0</td>
       <td>
        Константы класса стали типизированными.
       </td>
      </tr>

     </tbody>
    
   </table>

  </div>
 </div>

 




















































































<h2>Содержание</h2><ul class="chunklist chunklist_reference"><li><a href="collator.asort.php">Collator::asort</a> — Сортирует массив с сохранением ассоциации индекса</li><li><a href="collator.compare.php">Collator::compare</a> — Сравнивает две строки Unicode</li><li><a href="collator.construct.php">Collator::__construct</a> — Создаёт новый экземпляр Collator</li><li><a href="collator.create.php">Collator::create</a> — Создаёт новый экземпляр Collator</li><li><a href="collator.getattribute.php">Collator::getAttribute</a> — Получает значение атрибута сопоставления</li><li><a href="collator.geterrorcode.php">Collator::getErrorCode</a> — Получает последний код ошибки Collator</li><li><a href="collator.geterrormessage.php">Collator::getErrorMessage</a> — Получает текст для кода последней ошибки Collator</li><li><a href="collator.getlocale.php">Collator::getLocale</a> — Получает название локали для Collator</li><li><a href="collator.getsortkey.php">Collator::getSortKey</a> — Получает ключ сортировки строки</li><li><a href="collator.getstrength.php">Collator::getStrength</a> — Получает текущую силу сопоставления</li><li><a href="collator.setattribute.php">Collator::setAttribute</a> — Устанавливает атрибут сопоставления</li><li><a href="collator.setstrength.php">Collator::setStrength</a> — Устанавливает силу сопоставления</li><li><a href="collator.sort.php">Collator::sort</a> — Сортирует массив с использованием указанного средства сортировки</li><li><a href="collator.sortwithsortkeys.php">Collator::sortWithSortKeys</a> — Сортирует массив с использованием указанного Collator и ключей сортировки</li></ul>
</div>
<?php manual_footer($setup); ?>