在字謎匹配領域,按長度降序排列正匹配可能是關鍵的一步。如果您在 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中文網其他相關文章!