這篇文章主要介紹PHP常見(jiàn)數(shù)組排序方法有哪些,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)建站10多年成都企業(yè)網(wǎng)站定制服務(wù);為您提供網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì)及高端網(wǎng)站定制服務(wù),成都企業(yè)網(wǎng)站定制及推廣,對(duì)服務(wù)器托管等多個(gè)行業(yè)擁有多年建站經(jīng)驗(yàn)的網(wǎng)站建設(shè)公司。sort()
函數(shù)和rsort()
函數(shù):語(yǔ)法規(guī)則:
bool sort(array &array [,int sort_flags] bool rsort(array &array [.int_sort_flags]
參數(shù):
第一個(gè)參數(shù)是排序數(shù)組對(duì)象
第二個(gè)參數(shù)是可以選的 可選值:
SORT_REGULAR:是默認(rèn)值,將自動(dòng)識(shí)別數(shù)組的元素類型進(jìn)行排序
SORT_NUMERIC:用于數(shù)組元素排序
SORT_STRING:用于字符串排序
SORT_LOCALE_STRING:根據(jù)當(dāng)前的locale設(shè)置來(lái)把元素當(dāng)作字符串比較
示例:
$a=array(4,7,9,1); sort($a); pirnt_r($a); rsort($a); print_r($a);
定義:ksort()
函數(shù)按照鍵名對(duì)數(shù)組進(jìn)行有小到大的排序。krsort()
與ksort()
函數(shù)相反,排序后為數(shù)組值保持原來(lái)的鍵。
示例
$data= array(5=>"five",8=>"eight",1=>"one",7=>"seven"); ksrot($data); print_r($data); krsot($data); print_r($data);
定義 :asort()
從小到大 / arsort()
從大到小,用這個(gè)函數(shù)排序,原始鍵名將被忽略,使用依次數(shù)字重新索引數(shù)組下標(biāo)
示例 :
$data=array("a"=>1,"b"=>2,"c"=>3); asort($data); print_r($data); arsort($data); print_r($data);
定義 : 是個(gè)非常特殊的排序方式,這種方式使用認(rèn)知而不是使用計(jì)算規(guī)則,這種特性稱為——自然排序法,即數(shù)字從1到9,字母從a-z,短者優(yōu)先。
示例 :
$data=array("file1.txt","file11.txt","file111.txt"); natsort($data);//普通自然排序 natcasesort($data);//忽略大小寫(xiě)
語(yǔ)法規(guī)則 :
bool usort(array &array ,callback cmp_function) bool uasort(array &array,callback cmp_function) bool uksort(array &array,callback cmp_function)
說(shuō)明 : 自定義回調(diào)函數(shù),需要兩個(gè)參數(shù),分別是數(shù)組兩個(gè)連續(xù)元素,比較第一個(gè)參數(shù)小于,大于,等于第二個(gè)參數(shù)是分別返回 0,1,-1
示例 :
$data= array("ab","abc","a","ac","abcd"); usrot($data,"mysortByLen"); function mysortByLen($one,$two){ if(strlen($one)== strlen($two)){ return 0; }else{ return (strlen($one)>strlen($two))?1:-1; }
定義 : array_multisort()
函數(shù)對(duì)多個(gè)數(shù)組排序,或者根據(jù)某一維或多維對(duì)多維數(shù)組排序。
bool array_multisort(array array1 [,mixed arg,[,array ....]])
示例:
$data=array( array("id"=>1,"name"=>4), array("id"=>1,"name"=>2), array("id"=>2,"name"=>3) ); foreach($data as $key=>$value){ $ids[$key]=$value["id"]; $names[$key]=$value["name"] } array_multisort($data,$ids,$names); print_r($data);
輸出結(jié)果:
array( array("id"=>1,"name"=>2), array("id"=>1,"name"=>4), array("id"=>2,"name"=>3) );
以上是“PHP常見(jiàn)數(shù)組排序方法有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!