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