<?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 => 'it',
  ),
  '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">Descrizione</h3>
  <p class="para">
   Stile orientato agli oggetti
  </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">
   Stile procedurale
  </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">Elenco dei parametri</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">Valori restituiti</h3>
  <p class="para">Returns the collation key for the string,  o <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> in caso di fallimento.</p>
  <div class="warning"><strong class="warning">Avviso</strong><p class="simpara">Questa funzione può
restituire il Booleano <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>, ma può anche restituire un valore non-Booleano valutato
come <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong>. Fare riferimento alla sezione <a href="language.types.boolean.php" class="link">Booleans</a> per maggiori 
informazioni. Usare <a href="language.operators.comparison.php" class="link">l&#039;operatore ===
</a> per controllare il valore restituito da questa 
funzione.</p></div>
 </div>


 <div class="refsect1 examples" id="refsect1-collator.getsortkey-examples">
  <h3 class="title">Esempi</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Example #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>Il precedente esempio visualizzerà
qualcosa simile a:</p></div>
    <div class="example-contents screen"><br />
     3832404046010901dc08<br />
    </div>
   </div>
  </p>

  <p class="para">
   <div class="example" id="example-2">
    <p><strong>Example #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>Il precedente esempio visualizzerà
qualcosa simile a:</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">Vedere anche:</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); ?>