PHP數(shù)組排序
PHP?數(shù)組排序
數(shù)組中的元素可以按字母或數(shù)字順序進(jìn)行降序或升序排列。
PHP - 數(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)行降序排列
·???????? shuffle() - 對(duì)數(shù)組中的元素進(jìn)行隨機(jī)的排序
·???????? array_reverse() -反序是將一個(gè)原始的數(shù)組中的每個(gè)元素的順序翻轉(zhuǎn)
sort() - 對(duì)數(shù)組進(jìn)行升序排列
下面的實(shí)例將 $cars 數(shù)組中的元素按照字母升序排列:
實(shí)例
<?php $cars=array("Volvo","BMW","Toyota"); sort($cars); ?>
下面的實(shí)例將 $numbers 數(shù)組中的元素按照數(shù)字升序排列:
實(shí)例
<?php $numbers=array(4,6,2,22,11); sort($numbers); ?>
rsort() - 對(duì)數(shù)組進(jìn)行降序排列
下面的實(shí)例將 $cars 數(shù)組中的元素按照字母降序排列:
實(shí)例
<?php $cars=array("Volvo","BMW","Toyota"); rsort($cars); ?>
下面的實(shí)例將 $numbers 數(shù)組中的元素按照數(shù)字降序排列:
實(shí)例
<?php $numbers=array(4,6,2,22,11); rsort($numbers); ?>
asort() - 根據(jù)數(shù)組的值,對(duì)數(shù)組進(jìn)行升序排列
下面的實(shí)例根據(jù)數(shù)組的值,對(duì)關(guān)聯(lián)數(shù)組進(jìn)行升序排列:
實(shí)例
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); asort($age); ?>
?
ksort() - 根據(jù)數(shù)組的鍵,對(duì)數(shù)組進(jìn)行升序排列
下面的實(shí)例根據(jù)數(shù)組的鍵,對(duì)關(guān)聯(lián)數(shù)組進(jìn)行升序排列:
實(shí)例
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); ksort($age); ?>
arsort() - 根據(jù)數(shù)組的值,對(duì)數(shù)組進(jìn)行降序排列
下面的實(shí)例根據(jù)數(shù)組的值,對(duì)關(guān)聯(lián)數(shù)組進(jìn)行降序排列:
實(shí)例
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); arsort($age); ?>
?
krsort() - 根據(jù)數(shù)組的鍵,對(duì)數(shù)組進(jìn)行降序排列
下面的實(shí)例根據(jù)數(shù)組的鍵,對(duì)關(guān)聯(lián)數(shù)組進(jìn)行降序排列:
實(shí)例
<?php $age=array("Peter"=>"35","Ben"=>"37","Joe"=>"43"); krsort($age); ?>
?
shuffle() - 對(duì)數(shù)組中的元素進(jìn)行隨機(jī)的排序
使用shuffle函數(shù)可以對(duì)數(shù)組中的元素進(jìn)行隨機(jī)的排序 bool?shuffle?(?array?&$array?)
<?php $my_array = array("red","green","blue","yellow","purple");shuffle($my_array); print_r($my_array); ?>
每次執(zhí)行上面的代碼,輸出的順序各不相同,我們用來實(shí)現(xiàn)隨機(jī)的排名
注意:關(guān)聯(lián)數(shù)組被shuffle后,鍵會(huì)丟失
array_reverse() -反序是將一個(gè)原始的數(shù)組中的每個(gè)元素的順序翻轉(zhuǎn)
?反序 ≠ 降序
反序是將一個(gè)原始的數(shù)組中的每個(gè)元素的順序翻轉(zhuǎn)
array?array_reverse?(?array?$array?[,?bool?$preserve_keys?= false?] )
如果數(shù)組是關(guān)聯(lián)數(shù)組
??????? 鍵為字符時(shí)反序不受影響,鍵仍然會(huì)保留
??????? 鍵是數(shù)字時(shí),反序后默認(rèn)鍵會(huì)重置為0、1、2……
??????? 第二個(gè)參數(shù)為true時(shí),鍵為數(shù)字,反序保留數(shù)字鍵
<?php $names = array(10 => '張三', 60 => '阿毛', 30 => '李四', 25 => '寶哥'); print_r(array_reverse($names)); print_r(array_reverse($names, true)); ?>
完整的 PHP Array 參考手冊(cè)
如需查看所有數(shù)組函數(shù)的完整參考手冊(cè),請(qǐng)?jiān)L問我們的?PHP Array 參考手冊(cè)。
該參考手冊(cè)提供了每個(gè)函數(shù)的簡(jiǎn)要描述和應(yīng)用實(shí)例!