首頁 >後端開發 >php教程 >php中按大小進行排序的函數有哪些

php中按大小進行排序的函數有哪些

王林
王林原創
2019-12-02 11:38:064058瀏覽

php中按大小進行排序的函數有哪些

1、sort()簡單排序

sort() 函數對數值陣列進行升序排序。

將一個陣列元素從低到高進行簡單排序,這個函數既可以按數字大小排列也可以按字母順序排列。

實例如下:

<?php    
$data = array(5,8,1,7,2);    
sort($data);    
print_r($data); 
?>

輸出結果如下所示:

Array ( [0] => 1 [1] => 2 [2] => 5 [3] => 7 [4] => 8 )

學習影片教學推薦:php影片教學

2、rsort()簡單排序倒序

rsort() 函數對數值陣列進行降序排序。

rsort()函數對陣列元素進行從高到低的倒排,同樣可以按數字大小排列也可以按字母順序排列。

實例如下:

<?php    
$data = array(5,8,1,7,2);
rsort($data); 
print_r($data);
?>

它的輸出結果如下:

Array ([0] => 8 [1] => 7 [2] => 5 [3] => 2 [4] => 1 )

3、usort()依照使用者自訂的規則排序

usort() 使用使用者自訂的比較函數對陣列進行排序。

PHP能讓你定義自己的排序演算法,你可以透過建立自己的比較函數,並把它傳遞給usort()函數。

如果第一個參數比第二個參數「小」的話,比較函數必須傳回一個比0小的數,如果第一參數比第二個參數「大」的話,比較函數應該回傳一個比0大的數。

在下面的範例中依照它們的長度對陣列元素進行排序,最短的項目放在最前面:sortByLen 裡面必須是固定格式。

實例如下:

<?php    
$data = array("joe@", "@", "asmithsonian@", "jay@");
usort($data, &#39;sortByLen&#39;);    
print_r($data); 
function sortByLen($a, $b) {        
    if (strlen($a) == strlen($b)) {
       return;
   } else {
     return (strlen($a) > strlen($b)) ? 1 : -1;
   }
}
?>

這樣,就創建了我們自己的比較函數,這個函數使用strlen()函數比較每一個字串的個數,然後分別傳回1、0或-1。這個回傳值是決定元素排列的基礎。

輸出結果:

Array (
    [0] => @
    [1] => joe@
    [2] => jay@
    [3] => asmithsonian@
)

推薦相關文章教學:php教學

#

以上是php中按大小進行排序的函數有哪些的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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