當前位置: 首頁> 最新文章列表> 帶有負數的數組如何用rsort 函數正確降序排序?

帶有負數的數組如何用rsort 函數正確降序排序?

gitbox 2025-08-28
<span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 這部分代碼與文章內容無關,僅作為示例開頭</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"PHP 數組排序示例開始\n"</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>

&lt;hr&gt;

</span><span><span class="hljs-meta">&lt;?php</span></span><span>
<span class="hljs-comment">/**
 * 帶有負數的數組如何用 rsort 函數正確降序排序?
 * 
 * 在 PHP 中,rsort() 函數用於對數組進行降序排序。它會直接修改原數組,
 * 並且默認按數值大小進行排序(如果數組元素是數字),或按字符串順序(如果是字符串)。
 * 
 * 對於包含負數的數組,rsort() 仍然能正常工作,不需要額外處理,因為負數在數值比較時
 * 依然遵循大小順序,負數會被正確識別並排在正數的後面,從大到小排序。
 * 
 * 示例代碼:
 */</span>

</span><span><span class="hljs-variable">$numbers</span></span><span> = [</span><span><span class="hljs-number">3</span></span><span>, -</span><span><span class="hljs-number">1</span></span><span>, </span><span><span class="hljs-number">4</span></span><span>, -</span><span><span class="hljs-number">5</span></span><span>, </span><span><span class="hljs-number">0</span></span><span>, </span><span><span class="hljs-number">2</span></span><span>, -</span><span><span class="hljs-number">3</span></span><span>];

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"排序前的數組:\n"</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$numbers</span></span><span>);

</span><span><span class="hljs-title function_ invoke__">rsort</span></span><span>(</span><span><span class="hljs-variable">$numbers</span></span><span>);  </span><span><span class="hljs-comment">// 直接調用 rsort 進行降序排序</span></span><span>

</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"使用 rsort() 排序後的數組(降序):\n"</span></span><span>;
</span><span><span class="hljs-title function_ invoke__">print_r</span></span><span>(</span><span><span class="hljs-variable">$numbers</span></span><span>);

<span class="hljs-comment">/**
 * 輸出結果:
 * 排序前的數組:
 * Array
 * (
 *     [0] =&gt; 3
 *     [1] =&gt; -1
 *     [2] =&gt; 4
 *     [3] =&gt; -5
 *     [4] =&gt; 0
 *     [5] =&gt; 2
 *     [6] =&gt; -3
 * )
 * 
 * 使用 rsort() 排序後的數組(降序):
 * Array
 * (
 *     [0] =&gt; 4
 *     [1] =&gt; 3
 *     [2] =&gt; 2
 *     [3] =&gt; 0
 *     [4] =&gt; -1
 *     [5] =&gt; -3
 *     [6] =&gt; -5
 * )
 * 
 * 可以看到,負數依然被正確地排在了後面,且整體降序排列正確。
 * 
 * 注意:
 * - rsort() 默認對數字數組按數值降序排序,字符串數組按字典降序排序。
 * - 如果數組中包含混合類型(數字和字符串),排序可能會有意料之外的行為,
 *   建議先統一類型,或使用自定義排序函數(usort)進行處理。
 */</span>

</span><span><span class="hljs-meta">?&gt;</span></span><span>

</span><span><span class="hljs-meta">&lt;?php</span></span><span>
</span><span><span class="hljs-comment">// 這部分代碼與文章內容無關,僅作為示例結尾</span></span><span>
</span><span><span class="hljs-keyword">echo</span></span><span> </span><span><span class="hljs-string">"PHP 數組排序示例結束\n"</span></span><span>;
</span><span><span class="hljs-meta">?&gt;</span></span><span>
</span></span>