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