<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.collator.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'de',
  ),
  'this' => 
  array (
    0 => 'collator.getsortkey.php',
    1 => 'Collator::getSortKey',
    2 => 'Get sorting key for a string',
  ),
  'up' => 
  array (
    0 => 'class.collator.php',
    1 => 'Collator',
  ),
  'prev' => 
  array (
    0 => 'collator.getlocale.php',
    1 => 'Collator::getLocale',
  ),
  'next' => 
  array (
    0 => 'collator.getstrength.php',
    1 => 'Collator::getStrength',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'en',
    'path' => 'reference/intl/collator/get-sort-key.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="collator.getsortkey" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">Collator::getSortKey</h1>
  <h1 class="refname">collator_get_sort_key</h1>
  <p class="verinfo">(PHP 5 &gt;= 5.3.2, PHP 7, PHP 8, PECL intl &gt;= 1.0.3)</p><p class="refpurpose"><span class="refname">Collator::getSortKey</span> -- <span class="refname">collator_get_sort_key</span> &mdash; <span class="dc-title">Get sorting key for a string</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-collator.getsortkey-description">
  <h3 class="title">Beschreibung</h3>
  <p class="para">
   Objektorientierter Stil
  </p>
  <div class="methodsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><strong>Collator::getSortKey</strong></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>

  <p class="para rdfs-comment">
   Prozeduraler Stil
  </p>
  <div class="methodsynopsis dc-description"><span class="methodname"><strong>collator_get_sort_key</strong></span>(<span class="methodparam"><span class="type"><a href="class.collator.php" class="type Collator">Collator</a></span> <code class="parameter">$object</code></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>

  <p class="para rdfs-comment">
   Return collation key for a string.
   Collation keys can be compared directly instead of strings, though are implementation
   specific and may change between ICU library versions. Sort keys are generally only
   useful in databases or other circumstances where function calls are extremely expensive.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-collator.getsortkey-parameters">
  <h3 class="title">Parameter-Liste</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">object</code></dt>
     <dd>
      <p class="para">
       <span class="classname"><a href="class.collator.php" class="classname">Collator</a></span> object.
      </p>
     </dd>
    
    
     <dt><code class="parameter">string</code></dt>
     <dd>
      <p class="para">
       The string to produce the key from.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-collator.getsortkey-returnvalues">
  <h3 class="title">Rückgabewerte</h3>
  <p class="para">Returns the collation key for the string, Bei einem Fehler wird <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> zurückgegeben..</p>
  <div class="warning"><strong class="warning">Warnung</strong><p class="simpara">Diese Funktion kann sowohl das
boolsche <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> zurückliefern, als auch einen nicht-boolschen Wert, welcher zu <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> ausgewertet wird.
Weitere Informationen entnehmen Sie bitte dem Abschnitt über die
<a href="language.types.boolean.php" class="link"> boolschen Typen</a>. Benutzen Sie deshalb
<a href="language.operators.comparison.php" class="link">den === Operator</a>,
um den Rückgabewert dieser Funktion zu überprüfen.</p></div>
 </div>


 <div class="refsect1 examples" id="refsect1-collator.getsortkey-examples">
  <h3 class="title">Beispiele</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Beispiel #1 <span class="function"><strong>collator_get_sort_key()</strong></span> example</strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$s1 </span><span style="color: #007700">= </span><span style="color: #DD0000">'Hello'</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$coll </span><span style="color: #007700">= </span><span style="color: #0000BB">collator_create</span><span style="color: #007700">(</span><span style="color: #DD0000">'en_US'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$res  </span><span style="color: #007700">= </span><span style="color: #0000BB">collator_get_sort_key</span><span style="color: #007700">(</span><span style="color: #0000BB">$coll</span><span style="color: #007700">, </span><span style="color: #0000BB">$s1</span><span style="color: #007700">);<br /><br />echo </span><span style="color: #0000BB">bin2hex</span><span style="color: #007700">(</span><span style="color: #0000BB">$res</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt
eine ähnliche Ausgabe wie:</p></div>
    <div class="example-contents screen"><br />
     3832404046010901dc08<br />
    </div>
   </div>
  </p>

  <p class="para">
   <div class="example" id="example-2">
    <p><strong>Beispiel #2 <span class="function"><strong>Collator::getSortKey()</strong></span> example with <span class="function"><a href="function.usort.php" class="function">usort()</a></span></strong></p>
    <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$data </span><span style="color: #007700">= [<br />    [ </span><span style="color: #DD0000">'name' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'🇳🇱 Derick Rethans'</span><span style="color: #007700">, </span><span style="color: #DD0000">'linked_account' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'https://phpc.social/users/derickr' </span><span style="color: #007700">],<br />    [ </span><span style="color: #DD0000">'name' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'Elephpant'</span><span style="color: #007700">, </span><span style="color: #DD0000">'linked_account' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'https://phpc.social/phpc' </span><span style="color: #007700">],<br />    [ </span><span style="color: #DD0000">'name' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'🇫🇷 Marcus Bointon'</span><span style="color: #007700">, </span><span style="color: #DD0000">'linked_account' </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">'https://phpc.social/users/Synchro' </span><span style="color: #007700">],<br />];<br /><br /></span><span style="color: #FF8000">/* Create the collator */<br /></span><span style="color: #0000BB">$col </span><span style="color: #007700">= new </span><span style="color: #0000BB">Collator</span><span style="color: #007700">(</span><span style="color: #DD0000">'en'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Sort upper-case letters before lower-case letters */<br /></span><span style="color: #0000BB">$col</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">setAttribute</span><span style="color: #007700">(</span><span style="color: #0000BB">Collator</span><span style="color: #007700">::</span><span style="color: #0000BB">CASE_FIRST</span><span style="color: #007700">, </span><span style="color: #0000BB">Collator</span><span style="color: #007700">::</span><span style="color: #0000BB">UPPER_FIRST</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Use a user-defined function with sort, that strips out the emojis */<br /></span><span style="color: #0000BB">usort</span><span style="color: #007700">(<br />    </span><span style="color: #0000BB">$data</span><span style="color: #007700">,<br />    function(</span><span style="color: #0000BB">$a</span><span style="color: #007700">, </span><span style="color: #0000BB">$b</span><span style="color: #007700">) use (</span><span style="color: #0000BB">$col</span><span style="color: #007700">) {<br />        </span><span style="color: #FF8000">/* Remove the character class 'S' (the Symbols), and remove whitespace<br />         * (with trim) */<br />        </span><span style="color: #0000BB">$aName </span><span style="color: #007700">= </span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">preg_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">'/\p{S}+/u'</span><span style="color: #007700">, </span><span style="color: #DD0000">''</span><span style="color: #007700">, </span><span style="color: #0000BB">$a</span><span style="color: #007700">[</span><span style="color: #DD0000">'name'</span><span style="color: #007700">]));<br />        </span><span style="color: #0000BB">$bName </span><span style="color: #007700">= </span><span style="color: #0000BB">trim</span><span style="color: #007700">(</span><span style="color: #0000BB">preg_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">'/\p{S}+/u'</span><span style="color: #007700">, </span><span style="color: #DD0000">''</span><span style="color: #007700">, </span><span style="color: #0000BB">$b</span><span style="color: #007700">[</span><span style="color: #DD0000">'name'</span><span style="color: #007700">]));<br /><br />                                </span><span style="color: #FF8000">/* Create the sort key */<br />        </span><span style="color: #0000BB">$aKey </span><span style="color: #007700">= </span><span style="color: #0000BB">$col</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getSortKey</span><span style="color: #007700">(</span><span style="color: #0000BB">$aName</span><span style="color: #007700">);<br />        </span><span style="color: #0000BB">$bKey </span><span style="color: #007700">= </span><span style="color: #0000BB">$col</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">getSortKey</span><span style="color: #007700">(</span><span style="color: #0000BB">$bName</span><span style="color: #007700">);<br /><br />                                </span><span style="color: #FF8000">/* Use the sort key to signal which element sorts first */<br />        </span><span style="color: #007700">return </span><span style="color: #0000BB">$aKey </span><span style="color: #007700">&lt;=&gt; </span><span style="color: #0000BB">$bKey</span><span style="color: #007700">;<br />    }<br />);<br /><br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$data</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

    <div class="example-contents"><p>Das oben gezeigte Beispiel erzeugt
eine ähnliche Ausgabe wie:</p></div>
    <div class="example-contents screen"><br />
array(3) {<br />
  [0] =&gt;<br />
  array(2) {<br />
    &#039;name&#039; =&gt;<br />
    string(25) &quot;🇳🇱 Derick Rethans&quot;<br />
    &#039;linked_account&#039; =&gt;<br />
    string(33) &quot;https://phpc.social/users/derickr&quot;<br />
  }<br />
  [1] =&gt;<br />
  array(2) {<br />
    &#039;name&#039; =&gt;<br />
    string(9) &quot;Elephpant&quot;<br />
    &#039;linked_account&#039; =&gt;<br />
    string(24) &quot;https://phpc.social/phpc&quot;<br />
  }<br />
  [2] =&gt;<br />
  array(2) {<br />
    &#039;name&#039; =&gt;<br />
    string(25) &quot;🇫🇷 Marcus Bointon&quot;<br />
    &#039;linked_account&#039; =&gt;<br />
    string(33) &quot;https://phpc.social/users/Synchro&quot;<br />
  }<br />
}<br />
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-collator.getsortkey-seealso">
  <h3 class="title">Siehe auch</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="collator.sort.php" class="function" rel="rdfs-seeAlso">collator_sort()</a> - Sort array using specified collator</span></li>
    <li><span class="function"><a href="collator.sortwithsortkeys.php" class="function" rel="rdfs-seeAlso">collator_sort_with_sort_keys()</a> - Sort array using specified collator and sort keys</span></li>
   </ul>
  </p>
 </div>

</div><?php manual_footer($setup); ?>