<?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 => 'zh', ), 'this' => array ( 0 => 'ds-map.sort.php', 1 => 'Ds\\Map::sort', 2 => 'Sorts the map in-place by value', ), 'up' => array ( 0 => 'class.ds-map.php', 1 => 'Ds\\Map', ), 'prev' => array ( 0 => 'ds-map.slice.php', 1 => 'Ds\\Map::slice', ), 'next' => array ( 0 => 'ds-map.sorted.php', 1 => 'Ds\\Map::sorted', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'en', 'path' => 'reference/ds/ds/map/sort.xml', ), 'history' => array ( ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); contributors($setup); ?> <div id="ds-map.sort" class="refentry"> <div class="refnamediv"> <h1 class="refname">Ds\Map::sort</h1> <p class="verinfo">(PECL ds >= 1.0.0)</p><p class="refpurpose"><span class="refname">Ds\Map::sort</span> — <span class="dc-title"> Sorts the map in-place by value </span></p> </div> <div class="refsect1 description" id="refsect1-ds-map.sort-description"> <h3 class="title">说明</h3> <div class="methodsynopsis dc-description"> <span class="modifier">public</span> <span class="methodname"><strong>Ds\Map::sort</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 value, using an optional <code class="parameter">comparator</code> function. </p> </div> <div class="refsect1 parameters" id="refsect1-ds-map.sort-parameters"> <h3 class="title">参数</h3> <dl> <dt><code class="parameter">comparator</code></dt> <dd> <p class="para"> 在第一个参数小于,等于或大于第二个参数时,该比较函数必须相应地返回一个小于,等于或大于 0 的整数。 </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">警告</strong> <p class="para"> 从比较函数中返回<em>非整数</em>值,例如 <span class="type"><a href="language.types.float.php" class="type float">float</a></span>,将导致内部强制转换为 callback 返回值为 <span class="type"><a href="language.types.integer.php" class="type int">int</a></span>。因此,诸如 <code class="literal">0.99</code> 和 <code class="literal">0.1</code> 之类的值都将被转换为整数值 <code class="literal">0</code>,将这些值比较的话将会是相等。 </p> </div> </dd> </dl> </div> <div class="refsect1 returnvalues" id="refsect1-ds-map.sort-returnvalues"> <h3 class="title">返回值</h3> <p class="para"> 没有返回值。 </p> </div> <div class="refsect1 examples" id="refsect1-ds-map.sort-examples"> <h3 class="title">示例</h3> <div class="example" id="example-4378"> <p><strong>示例 #1 <span class="function"><strong>Ds\Map::sort()</strong></span> example</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB"><?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">"a" </span><span style="color: #007700">=> </span><span style="color: #0000BB">2</span><span style="color: #007700">, </span><span style="color: #DD0000">"b" </span><span style="color: #007700">=> </span><span style="color: #0000BB">3</span><span style="color: #007700">, </span><span style="color: #DD0000">"c" </span><span style="color: #007700">=> </span><span style="color: #0000BB">1</span><span style="color: #007700">]);<br /></span><span style="color: #0000BB">$map</span><span style="color: #007700">-></span><span style="color: #0000BB">sort</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">?></span></span></code></div> </div> <div class="example-contents"><p>以上示例的输出类似于:</p></div> <div class="example-contents screen"> <div class="examplescode"><pre class="examplescode">Ds\Map Object ( [0] => Ds\Pair Object ( [key] => c [value] => 1 ) [1] => Ds\Pair Object ( [key] => a [value] => 2 ) [2] => Ds\Pair Object ( [key] => b [value] => 3 ) )</pre> </div> </div> </div> <div class="example" id="example-4379"> <p><strong>示例 #2 <span class="function"><strong>Ds\Map::sort()</strong></span> example using a comparator</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB"><?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">"a" </span><span style="color: #007700">=> </span><span style="color: #0000BB">2</span><span style="color: #007700">, </span><span style="color: #DD0000">"b" </span><span style="color: #007700">=> </span><span style="color: #0000BB">3</span><span style="color: #007700">, </span><span style="color: #DD0000">"c" </span><span style="color: #007700">=> </span><span style="color: #0000BB">1</span><span style="color: #007700">]);<br /><br /></span><span style="color: #0000BB">$map</span><span style="color: #007700">-></span><span style="color: #0000BB">sort</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"><=> </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">?></span></span></code></div> </div> <div class="example-contents"><p>以上示例的输出类似于:</p></div> <div class="example-contents screen"> <div class="examplescode"><pre class="examplescode">Ds\Map Object ( [0] => Ds\Pair Object ( [key] => b [value] => 3 ) [1] => Ds\Pair Object ( [key] => a [value] => 2 ) [2] => Ds\Pair Object ( [key] => c [value] => 1 ) )</pre> </div> </div> </div> </div> </div><?php manual_footer($setup); ?>