<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>