PHP陣列排序函式

2021-08-21 22:06:35 字數 2736 閱讀 1792

array_multisort:對多個陣列或多維陣列進行排序,可以一次對多個陣列進行排序,或者根據一維或多維對多維陣列進行排序。排序後字串鍵名保持不變,數字鍵名會被重新索引。第乙個引數為要排序的陣列,第二引數為排序順序標識,預設為sort_asc,第三個引數為排序型別標識,預設為sort_regular。最後為可選的多個陣列,這些陣列需要與第乙個引數中的陣列具有相同數量的元素。成功返回true,否則返回false。

asort:對陣列進行排序並保持索引關係,接受兩個引數,第乙個為要進行排序的陣列,第二個為可選的排序型別標識,預設為sort_regular。成功返回true,否則返回false。該函式區分大小寫。

arsort:與asort唯一區別的是逆向排序。

sort:與asort的唯一區別是不保持索引關係。

rsort:與sort的唯一區別是逆向排序。

natsort:用自然排序演算法對陣列進行排序並保持索引關係,只接受乙個要進行排序的陣列。成功返回true,否則返回false。等價於asort($ar1,sort_natural)。

natcasesort:與natsort的唯一區別是不區分大小寫。

usort:使用使用者自定義的比較函式對陣列中的值進行排序不保持索引關係,接受兩個引數,第乙個為要排序的陣列,第二個為比較函式。比較函式要在其第乙個引數大於、等於或小於第二引數時返回乙個大於、等於或小於0的整數。功返回true,否則返回false。

uasort:與usort的唯一區別是保持索引關係。

shuffle:隨機打亂陣列,不保持索引關係。

ksort:對陣列按照鍵名排序,並保持索引關係,接受兩個引數,第乙個為要進行排序的陣列,第二個為可選的排序型別標識,預設為sort_regular。成功返回true,否則返回false。該函式區分大小寫。

krsort:與ksort的唯一區別是逆向排序。

uksort:使用使用者自定義的比較函式對陣列中的鍵名進行排序並保持索引關係,接受兩個引數,第乙個為要排序的陣列,第二個為比較函式。比較函式要在其第乙個引數大於、等於或小於第二引數時返回乙個大於、等於或小於0的整數。功返回true,否則返回false。

array_​reverse:返回單元順序相反的陣列,接受兩個引數,第乙個為要反序的陣列,第二個為可選的標記,表示是否保留數字型別的鍵。

<?php

$ar1 = array(10, 100, 100, 0,100);

$ar2 = array(1, 3, 5, 4,2);

array_multisort($ar1, $ar2);

var_dump($ar1);

var_dump($ar2);

$ar = array(

array("10", 11, 100, 100, "a"),

array("10", 2, "2", 3, 1)

);array_multisort($ar[0], sort_string,

$ar[1], sort_numeric,sort_desc);

var_dump($ar);

array_multisort($ar,sort_desc);

var_dump($ar);

$ar1 = array(10, 100, 100, 0,100);

asort($ar1);

var_dump($ar1);

arsort($ar1);

var_dump($ar1);

$ar1=array("a1","a2","a1a","a09","a20","a10");

natsort($ar1);

var_dump($ar1);

$ar1=array("a1","a2","a1a","a09","a20","a10");

asort($ar1,sort_natural);

var_dump($ar1);

$ar1=array("a1","a2","a1a","a09","a20","a10");

sort($ar1);

var_dump($ar1);

function cmp($a, $b)

return ($a < $b) ? -1 : 1;

}usort($ar2,cmp);

var_dump($ar2);

shuffle($ar1);

var_dump($ar1);

shuffle($ar1);

var_dump($ar1);

$ar1=array("a1"=>"1","a2"=>"2","a1a"=>"3","a09"=>"4","a20"=>"5","a10"=>"6");

ksort($ar1);

var_dump($ar1);

$ar2 = array(1=>"a", 3=>"c", 5=>"e", 4=>"d",2=>"b");

uksort($ar2,cmp);

var_dump($ar2);

var_dump(array_reverse($ar1,true));

?>

陣列排序函式對照表

php陣列排序函式

data array team item post name name item name total total,total point total pt,total hd total hd,chousale chousale,chousale pt chousale pt,chousale hd...

PHP陣列排序函式 ksort krsort

bool krsort array array int sort flags 對陣列按照鍵名逆向排序,保留鍵名到資料的關聯。主要用於結合陣列。如果成功則返回true,失敗則返回false。例 fruits array d lemon a orange b banana c krsort fruits...

PHP陣列的排序函式

介紹 sort 按照字母或數字公升序對陣列中的元素進行排序,rsort作用則相反 char array b a d sort cars numbers array 3,5,1,22,11 sort numbers asort 根據值對關聯陣列進行公升序排序,arsort作用相反 age array ...