<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.ds-map.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'en',
  ),
  'this' => 
  array (
    0 => 'ds-map.ksort.php',
    1 => 'Ds\\Map::ksort',
    2 => 'Sorts the map in-place by key',
  ),
  'up' => 
  array (
    0 => 'class.ds-map.php',
    1 => 'Ds\\Map',
  ),
  'prev' => 
  array (
    0 => 'ds-map.keys.php',
    1 => 'Ds\\Map::keys',
  ),
  'next' => 
  array (
    0 => 'ds-map.ksorted.php',
    1 => 'Ds\\Map::ksorted',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'en',
    'path' => 'reference/ds/ds/map/ksort.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="ds-map.ksort" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">Ds\Map::ksort</h1>
  <p class="verinfo">(PECL ds &gt;= 1.0.0)</p><p class="refpurpose"><span class="refname">Ds\Map::ksort</span> &mdash; <span class="dc-title">
    Sorts the map in-place by key
 </span></p>

 </div>

 <div class="refsect1 description" id="refsect1-ds-map.ksort-description">
  <h3 class="title">Description</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><strong>Ds\Map::ksort</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.callable.php" class="type callable">callable</a></span> <code class="parameter">$comparator</code><span class="initializer"> = ?</span></span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>

  <p class="para rdfs-comment">
    Sorts the map in-place by key, using an optional <code class="parameter">comparator</code> function.
  </p>

 </div>


 <div class="refsect1 parameters" id="refsect1-ds-map.ksort-parameters">
  <h3 class="title">Parameters</h3>
  <dl>
   
     <dt><code class="parameter">comparator</code></dt>
     <dd>
      <p class="para">
 The comparison function must return an integer less than, equal to, or greater than zero if the first argument is considered to be respectively less than, equal to, or greater than the second.
</p>
<div class="methodsynopsis dc-description"><span class="methodname"><span class="replaceable">callback</span></span>(<span class="methodparam"><span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span> <code class="parameter">$a</code></span>, <span class="methodparam"><span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span> <code class="parameter">$b</code></span>): <span class="type"><a href="language.types.integer.php" class="type int">int</a></span></div>

<div class="caution"><strong class="caution">Caution</strong>
 <p class="para">
  Returning <em>non-integer</em> values from the comparison
  function, such as <span class="type"><a href="language.types.float.php" class="type float">float</a></span>, will result in an internal cast to
  <span class="type"><a href="language.types.integer.php" class="type int">int</a></span> of the callback&#039;s return value. So values such as
  <code class="literal">0.99</code> and <code class="literal">0.1</code> will both be cast to an
  integer value of <code class="literal">0</code>, which will compare such values as equal.
 </p>
</div>
     </dd>
    
  </dl>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-ds-map.ksort-returnvalues">
  <h3 class="title">Return Values</h3>
  <p class="para">
    No value is returned.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-ds-map.ksort-examples">
  <h3 class="title">Examples</h3>
  <div class="example" id="example-1">
   <p><strong>Example #1 <span class="function"><strong>Ds\Map::ksort()</strong></span> example</strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$map </span><span style="color: #007700">= new </span><span style="color: #0000BB">\Ds\Map</span><span style="color: #007700">([</span><span style="color: #DD0000">"b" </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">2</span><span style="color: #007700">, </span><span style="color: #DD0000">"c" </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">3</span><span style="color: #007700">, </span><span style="color: #DD0000">"a" </span><span style="color: #007700">=&gt; </span><span style="color: #0000BB">1</span><span style="color: #007700">]);<br /></span><span style="color: #0000BB">$map</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">ksort</span><span style="color: #007700">();<br /><br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$map</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

   <div class="example-contents"><p>The above example will output
something similar to:</p></div>
   <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Ds\Map Object
(
    [0] =&gt; Ds\Pair Object
        (
            [key] =&gt; a
            [value] =&gt; 1
        )

    [1] =&gt; Ds\Pair Object
        (
            [key] =&gt; b
            [value] =&gt; 2
        )

    [2] =&gt; Ds\Pair Object
        (
            [key] =&gt; c
            [value] =&gt; 3
        )

)</pre>
</div>
   </div>
  </div>
  <div class="example" id="example-2">
   <p><strong>Example #2 <span class="function"><strong>Ds\Map::ksort()</strong></span> example using a comparator</strong></p>
   <div class="example-contents">
<div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$map </span><span style="color: #007700">= new </span><span style="color: #0000BB">\Ds\Map</span><span style="color: #007700">([</span><span style="color: #0000BB">1 </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"x"</span><span style="color: #007700">, </span><span style="color: #0000BB">2 </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"y"</span><span style="color: #007700">, </span><span style="color: #0000BB">0 </span><span style="color: #007700">=&gt; </span><span style="color: #DD0000">"z"</span><span style="color: #007700">]);<br /><br /></span><span style="color: #FF8000">// Reverse<br /></span><span style="color: #0000BB">$map</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">ksort</span><span style="color: #007700">(function(</span><span style="color: #0000BB">$a</span><span style="color: #007700">, </span><span style="color: #0000BB">$b</span><span style="color: #007700">) {<br />    return </span><span style="color: #0000BB">$b </span><span style="color: #007700">&lt;=&gt; </span><span style="color: #0000BB">$a</span><span style="color: #007700">;<br />});<br /><br /></span><span style="color: #0000BB">print_r</span><span style="color: #007700">(</span><span style="color: #0000BB">$map</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

   <div class="example-contents"><p>The above example will output
something similar to:</p></div>
   <div class="example-contents screen">
<div class="examplescode"><pre class="examplescode">Ds\Map Object
Ds\Map Object
(
    [0] =&gt; Ds\Pair Object
        (
            [key] =&gt; 2
            [value] =&gt; y
        )

    [1] =&gt; Ds\Pair Object
        (
            [key] =&gt; 1
            [value] =&gt; x
        )

    [2] =&gt; Ds\Pair Object
        (
            [key] =&gt; 0
            [value] =&gt; z
        )

)</pre>
</div>
   </div>
  </div>

 </div>



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