PHP 數(shù)組排序
數(shù)組中的元素可以按字母或數(shù)字順序進(jìn)行降序或升序排列。
升序:從小到大的順序進(jìn)行排序,如果是英文單詞,那么按字母A-Za-z的順序排序,如果是數(shù)字,那么按數(shù)字的大小進(jìn)行排序。
降序:與升序相反
數(shù)組排序函數(shù)
在本章中,我們將一一介紹下列 PHP 數(shù)組排序函數(shù):
· sort() - 對(duì)數(shù)組進(jìn)行升序排列
· rsort() - 對(duì)數(shù)組進(jìn)行降序排列
· asort() - 根據(jù)關(guān)聯(lián)數(shù)組的值,對(duì)數(shù)組進(jìn)行升序排列
· ksort() - 根據(jù)關(guān)聯(lián)數(shù)組的鍵,對(duì)數(shù)組進(jìn)行升序排列
· arsort() - 根據(jù)關(guān)聯(lián)數(shù)組的值,對(duì)數(shù)組進(jìn)行降序排列
· krsort() - 根據(jù)關(guān)聯(lián)數(shù)組的鍵,對(duì)數(shù)組進(jìn)行降序排列
sort()函數(shù)
注:sort大多是用來排序數(shù)字索引數(shù)組的,如果把一個(gè)關(guān)聯(lián)數(shù)組放到sort里排序,那么數(shù)組的鍵會(huì)丟失
實(shí)例
下面的實(shí)例將數(shù)組中的元素按照升序排列:
<?php $sum=array(100,25,85,68,Y,M,w,s,a,H,45,A,P); sort($sum); print_r($sum); ?>
下面是程序運(yùn)行結(jié)果:
通過上面的例子可以看出來,我們已經(jīng)用sort()函數(shù),對(duì)數(shù)組進(jìn)行了升序排序,你不妨將sort()函數(shù) 換成rsort() 看看有什么變化吧。
小思考
既然關(guān)聯(lián)數(shù)組不能使用sort來排序,那么應(yīng)該使用什么函數(shù)呢?
這就要用到我們下面所學(xué)的asort()函數(shù)了
asort()函數(shù)
實(shí)例
下面的實(shí)例根據(jù)數(shù)組的值,對(duì)關(guān)聯(lián)數(shù)組進(jìn)行升序排列:
<?php $age=array("Tom"=>"25","Andy"=>"18","Joe"=>"23","Ben"=>"28"); asort($age); print_r($age); ?>
通過上面例子的運(yùn)行結(jié)果我們可以看到asort()函數(shù)實(shí)際上是使用數(shù)組的值進(jìn)行排序的,那么如果想對(duì)鍵進(jìn)行排序,我們可以使用
ksort()函數(shù)
ksort()函數(shù)
實(shí)例
下面的實(shí)例根據(jù)數(shù)組的鍵,對(duì)關(guān)聯(lián)數(shù)組進(jìn)行升序排列:
<?php $age=array("Tom"=>"25","Andy"=>"18","Joe"=>"23","Ben"=>"28"); ksort($age); print_r($age); ?>
上面的幾個(gè)例子我們都是對(duì)數(shù)組進(jìn)行升序排序,你們不妨試著看進(jìn)行對(duì)數(shù)組進(jìn)行降序排序,用法都是相同的。試試看吧
完整的 PHP 數(shù)組參考手冊(cè)
如需完整的數(shù)組函數(shù)參考手冊(cè),請(qǐng)?jiān)L問我們的 PHP 數(shù)組參考手冊(cè)。
該參考手冊(cè)包含每個(gè)函數(shù)的簡要描述、使用示例。