首頁  >  文章  >  後端開發  >  如何依字串長度降序對 PHP 陣列進行排序?

如何依字串長度降序對 PHP 陣列進行排序?

Linda Hamilton
Linda Hamilton原創
2024-11-01 04:44:27121瀏覽

How to Sort a PHP Array by String Length in Descending Order?

在 PHP 中按值長度對數組進行排序

在字謎匹配領域,按長度降序排列正匹配可能是關鍵的一步。如果您在 PHP 中面臨這項挑戰,這裡有一個使用強大的 usort 函數的解決方案。

<code class="php">function sortByLength($a, $b) {
    return strlen($b) - strlen($a);
}

usort($array, 'sortByLength');</code>

此自訂 sortByLength 函數比較兩個字串的長度,如果第一個字串較長,則傳回負值。 usort 函數使用提供的比較函數對陣列進行排序。

或者,如果您需要保留原始數組索引,則可以使用uasort 代替:

<code class="php">uasort($array, 'sortByLength');</code>

同時兩個usort和uasort 提供了可行的解決方案,usort 被認為是不穩定排序,這意味著相等的元素在排序後可能無法保持其原始順序。因此,所提供的版本確保了穩定的排序行為。

為了說明排序過程,請考慮以下陣列:

<code class="php">$array = ["bbbbb", "dog", "cat", "aaa", "aaaa"];</code>

排序後,陣列會排列如下:

[0] => "bbbbb"
[1] => "aaaa"
[2] => "aaa"
[3] => "cat"
[4] => "dog"

以上是如何依字串長度降序對 PHP 陣列進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn