PHP排序函數sort、asort、rsort、krsort、ksort區別分析

在php中對于簡單的數據排序爲我們提供了sort、asort、rsort、krsort、ksort函數了,下文我來給各位簡單的介紹sort、asort、rsort、krsort、ksort函數的區別了。

在php中自帶了大量了數組排序函數,下面我們一一來介紹一下關于php數組排序的用法吧。

sort() 函數用于對數組單元從低到高進行排序。
rsort() 函數用于對數組單元從高到低進行排序。
asort() 函數用于對數組單元從低到高進行排序並保持索引關系。
arsort() 函數用于對數組單元從高到低進行排序並保持索引關系。
ksort() 函數用于對數組單元按照鍵名從低到高進行排序。
krsort() 函數用于對數組單元按照鍵名從高到低進行排序。

sort()

PHP sort() 函數用于對數組單元從低到高進行排序,如果成功則返回 TRUE,失敗則返回 FALSE。
注意:本函數會爲排序的數組中的單元賦予新的鍵名,這將刪除原有的鍵名而不僅是重新排序。
語法:
bool sort( array &array [, int sort_flags] )
可選參數 sort_flags 用于改變排序的行爲:
sort_flags 取值 說明
SORT_REGULAR 正常比較單元
SORT_NUMERIC 單元被作爲數字來比較
SORT_STRING 單元被作爲字符串來比較
SORT_LOCALE_STRING 根據當前的區域(locale)設置來把單元當作字符串比較

例子:

$arr = array("b", "a", "c");
sort($arr);
print_r($arr);
?>

Array ( [0] => a [1] => b [2] => c )

在本例中, $arr 數組單元被按照字母順序排序,而數組單元經過排序後,鍵值重新分配。

rsort()
PHP rsort() 函數行爲與 sort() 相反,對數組單元進行由高到低排序,請參考 sort() 函數使用。

asort()
PHP asort() 函數用于對數組單元從低到高進行排序並保持索引關系,如果成功則返回 TRUE,失敗則返回 FALSE。
語法:
bool asort( array &array [, int sort_flags] )
可選參數 sort_flags 用以改變排序的行爲,具體參見 sort()。

例子:

$arr = array("b", "a", "c");
asort($arr);
print_r($arr);
?>

運行該例子輸出:

Array ( [1] => a [0] => b [2] => c )

arsort()

PHP arsort() 函數行爲與 asort() 相反,對數組單元進行由高到低排序並保持索引關系,請參考 asort() 函數使用。

ksort()

PHP ksort() 函數用于對數組單元按照鍵名從低到高進行排序,如果成功則返回 TRUE,失敗則返回 FALSE。
本函數會保留原來的鍵名,因此常用于關聯數組。

語法:
bool ksort( array &array [, int sort_flags] )

可選參數 sort_flags 用以改變排序的行爲,具體參見 sort()。
例子:

$arr = array("b"=>18, "a"=>20, "c"=>25);
ksort($arr);
print_r($arr);
?>

運行該例子輸出:

Array ( [a] => 20 [b] => 18 => 25 )

krsort()
PHP krsort() 函數行爲與 ksort() 相反,對數組單元按照鍵名進行由高到低排序,請參考 ksort() 函數使用

更多相關文章
  • shuffle數組值隨便排序函數*/$typename=20;$rtitle='tt';for( $i=0;$i<=20;$i++){ $rtitle_rand = array($typename,$rtitle,$
  • sort是array對象自帶的方法,可以對array中的元素按升序的方式進行排列.如果sort方法沒有指定參數,那麽array的元素會按照字符的編碼數據進行排序.如果想對其他類型的元素進行排序,就需要自己實現一個比較
  • SQL中ROW_NUMBER() 排序函數使用詳解
    sql中ROW_NUMBER() 就是生成一個有順序的行號,而他生成順序的標准,就是後面緊跟的OVER(ORDER BY ID)--還必須添加OVER語句以便告訴SQL Server你希望怎樣添加行序號了,下文重點給各位介紹ROW_NUMBER函數用法.以前寫過一篇文章排序提到過ROW_NUMBER
  • 參數中的數組被當成一個表的列並以行來進行排序 - 這類似 sql 的 order by 子句的功能.第一個數組是要排序的主要數組.數組中的行(值)比較爲相同的話,就會按照下一個輸入數組中相應值的大小進行排序,依此類推
  • php中strpos函數判斷字符存在誤區
    在php中strpos是查找字符串首次出現的位置,如果存在就返回ture或相關具體數字,沒
  • 本文章介紹mssql server中char和varchar數據效能對比分析,詳細的利用實例來說明兩者的關系,有需要了解的朋友可以參考一下.1. char 固定長度,最長n個字符.2. varchar 最大長度爲n的
  • 下面給各位同學整理了一些關于php array數組的相關處理函數and str字符串處理與正則表達式,希望文章對你會有所幫助.數組的相關處理函數:1)數組的鍵值操作函數 array_values();//獲取數組中的值array_keys();//獲取數組中的鍵in_array();//檢查一個值是
  • 本文章來給大家分析一下關于javascript 定時函數setInterval()與setTimeout()用法與區別,有需要了解的同學可參考參考.setTimeout(表達式,延遲時間)是定時程序,也就是在什麽時間
一周排行