在之前的文章《PHP數(shù)組學(xué)習(xí)之巧用數(shù)組函數(shù)對數(shù)組進(jìn)行升序排序!》中,我們介紹了使用數(shù)組函數(shù)sort()、asort()、ksort()可以對數(shù)組進(jìn)行升序排序。既然有升序,那就有降序,那么如何利用數(shù)組函數(shù)對數(shù)組進(jìn)行降序排序操作呢?下面我們來一起學(xué)習(xí)下!
和數(shù)組升序排序一樣,數(shù)組降序排序也有三個函數(shù)可以用,它們分別是rsort()、arsort()、krsort()。下面我們先簡單了解一下這三個函數(shù),然后通過代碼示例來了一下這些數(shù)組排序函數(shù)是如何進(jìn)行降序排序的。
數(shù)組降序排序的三個函數(shù):
-
rsort():對數(shù)組元素進(jìn)行降序排序
-
arsort():根據(jù)關(guān)聯(lián)數(shù)組的鍵值,對數(shù)組進(jìn)行降序排列
-
krsort():根據(jù)關(guān)聯(lián)數(shù)組的鍵名,對數(shù)組進(jìn)行降序排序
1、使用rsort()函數(shù)
rsort() 函數(shù)用來對數(shù)組元素進(jìn)行降序排序,也就是從大到小、從高到低排序。
我們來看看代碼實例:
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(2, 1, 5, 16, 29, 15); rsort($arr); var_dump($arr); ?>
輸出結(jié)果:
rsort() 函數(shù)有兩個參數(shù):$array(必須)和$sortingtype(可省略)。$sortingtype參數(shù)用于表示排序模式,具體取值可以參考上篇文章的sort()函數(shù)。下文arsort()和krsort()同樣參考sort()函數(shù)。
<?php header("Content-type:text/html;charset=utf-8"); $arr = array(2, 1, 5, 16, 29, 15); rsort($arr,2); var_dump($arr); ?>
輸出結(jié)果:
rsort()和sort()函數(shù)一樣,都不會保持索引關(guān)系,會刪除數(shù)組中原有的鍵名,并為其重新賦值;因此不適合用于注重值和索引間關(guān)系的數(shù)組。
2、使用arsort()函數(shù)
arsort()函數(shù)會根據(jù)關(guān)聯(lián)數(shù)組的鍵值進(jìn)行降序排序,且不會修改原數(shù)組中的鍵名。
<?php header("Content-type:text/html;charset=utf-8"); $age = array("張三"=>30,"李四"=>23,"王五"=>15,"李華"=>12,"娜娜"=>26,"小紅"=>16); arsort($age); var_dump($age); arsort($age,2); var_dump($age); ?>
輸出結(jié)果:
3、使用krsort()函數(shù)
krsort()函數(shù)會根據(jù)關(guān)聯(lián)數(shù)組的鍵名進(jìn)行降序排序,也不會修改原數(shù)組中的鍵名。
<?php header("Content-type:text/html;charset=utf-8"); $arr= array("l"=>"lemon", "o"=>"orange", "b"=>"banana", "a"=>"apple"); krsort($arr); var_dump($arr); krsort($arr,1); var_dump($arr); ?>
輸出結(jié)果:
好了就說到這里了,有其他想知道的,可以點擊這個哦。→ →php視頻教程
最后給大家推薦一個PHP數(shù)組的免費(fèi)視頻教程:PHP函數(shù)之a(chǎn)rray數(shù)組函數(shù)視頻講解,快來學(xué)習(xí)吧!