站內搜尋

Wednesday, September 16, 2009

[PHP] 陣列的各種排序法

陣列在應用上常常需要排列,光排列就有好多種方式,本篇針對排列語法做個整理:
sort:
代表將該陣列的元素值"由小到大"排列,並重新指定索引值(0~n)。
$arr = array(200,400,300,100,1000);
sort($arr);

rsort:
代表將該陣列的元素值"由大到小"排列,並重新指定索引值(0~n)。
$arr = array(200,400,300,100,1000);
rsort($arr);

asort:
代表將該陣列的元素值"由小到大"排列,但"不重新"指定索引值。
$arr = array(200,400,300,100,1000);
asort($arr);

arsort:
代表將該陣列的元素值"由大到小"排列,但"不重新"指定索引值。
$arr = array(200,400,300,100,1000);
arsort($arr);

ksort:
代表將該陣列的[索引值]"由小到大"排列。如果索引是文字數字摻雜,建議加上第二個參數SORT_STRING
eg. ksort($arr, SORT_STRING) 這代表將每一個索引當作字串來處理,排序結果會比較符合預期。
$arr = array(3=>200,0=>400,4=>300,2=>100,1=>1000);
ksort($arr);

krsort:
代表將該陣列的[索引值]"由大到小"排列。如果索引是文字數字摻雜,建議加上第二個參數SORT_STRING
eg. krsort($arr, SORT_STRING) 這代表將每一個索引當作字串來處理,排序結果會比較符合預期。
$arr = array(3=>200,0=>400,4=>300,2=>100,1=>1000);
krsort($arr);

No comments:

Post a Comment