PHP陣列排序,一維陣列,二維陣列排序。

2021-08-14 03:00:54 字數 3312 閱讀 1517

一維陣列排序

1、sort,rsort排序(r(reverse表示翻轉,即為降序排列)),通過鍵值排序。

<?php

$arr=array(10,2,4,1,5,8,7,9);

//等效於 $arr=array('0'=>10,'1'=>2,'2'=>4,'3'=>1,'4'=>5,'5'=>8,'6'=>7,'7'=>9);

//預設的排序,按鍵值公升序排序,鍵名被從新規定,例如10原來的鍵名是0,現在是7

sort($arr);

var_dump($arr);

/*array (size=8)

0 => int 1

1 => int 2

2 => int 4

3 => int 5

4 => int 7

5 => int 8

6 => int 9

7 => int 10

*/?>

<?php

$arr=array(10,2,4,1,5,8,7,9);

//預設的排序,按鍵值降序排序,鍵名被從新規定,同上

rsort($arr);

var_dump($arr);

/*array (size=8)

0 => int 10

1 => int 9

2 => int 8

3 => int 7

4 => int 5

5 => int 4

6 => int 2

7 => int 1

*/?>

2、ksort,krsort排序,通過鍵名排序。

<?php

$arr=array(10,2,4,1,5,8,7,9);

//按鍵鍵名公升序排序

ksort($arr);

var_dump($arr);

/*array (size=8)

0 => int 10

1 => int 2

2 => int 4

3 => int 1

4 => int 5

5 => int 8

6 => int 7

7 => int 9*/

?>

<?php

$arr=array(10,2,4,1,5,8,7,9);

//按鍵鍵名降序排序

krsort($arr);

var_dump($arr);

/*array (size=8)

7 => int 9

6 => int 7

5 => int 8

4 => int 5

3 => int 1

2 => int 4

1 => int 2

0 => int 10*/

?>

3、asort,arsort排序,通過鍵值排序。

<?php

$arr=array(10,2,4,1,5,8,7,9);

//按鍵鍵值公升序排序,和sort不同的是,鍵名不會重新定義

asort($arr);

var_dump($arr);

/*array (size=8)

3 => int 1

1 => int 2

2 => int 4

4 => int 5

6 => int 7

5 => int 8

7 => int 9

0 => int 10*/

?>

<?php

$arr=array(10,2,4,1,5,8,7,9);

//按鍵鍵值降序排序,和rsort不同的是,鍵名不會重新定義

arsort($arr);

var_dump($arr);

/*array (size=8)

0 => int 10

7 => int 9

5 => int 8

6 => int 7

4 => int 5

2 => int 4

1 => int 2

3 => int 1*/

?>

二維陣列根據某個鍵排序

//二維陣列排序

function sortarr($arrays,$sort_key,$sort_order=sort_asc,$sort_type=sort_numeric )else

}}else

array_multisort($key_arrays,$sort_order,$sort_type,$arrays);

return $arrays;

}//$data表示二維陣列,結構比如說從資料讀取出來的多行表結構,'date'表示每行裡面的乙個字段,通過這個字段排序

//sort_desc表示降序排列,sort_string表示設定'date'欄位的比較以字串方式進行

$newdata = $this->sortarr($data,'date',sort_desc,sort_string);

二維陣列根據多個鍵排序

//二維陣列多鍵值排序

function my_sort($arrays,$sort_key,$sort_key1,$sort_order=sort_asc,$sort_order1=sort_desc)else

}}else

array_multisort($key_arrays,$sort_order,$key_arrays1,$sort_order1,$arrays);

return $arrays;

}//$data表示二維陣列,結構比如說從資料讀取出來的多行表結構

//'date'表示每行裡面的乙個字段,通過這個字段排序,然後通過'time'字段排序

//sort_desc,sort_asc分別對應'date','time'兩個欄位的排序方式

//效果類似於資料庫中order by data desc,time asc。

$newdata = $this->sortarr($data,'date','time',sort_desc,sort_asc);

PHP之一維陣列 二維陣列排序

sort 以公升序對陣列排序 rsort 以降序對陣列排序 asort 根據值,以公升序對關聯陣列進行排序 ksort 根據鍵,以公升序對關聯陣列進行排序 arsort 根據值,以降序對關聯陣列進行排序 krsort 根據鍵,以降序對關聯陣列進行排序 usort 根據值,使用者自定義函式進行排序 u...

陣列(一維陣列 二維陣列)

陣列概述 c 陣列從零開始建立索引,即陣列索引從零開始。c 中陣列的工作方式與在大多數其他流行語言中的工作方式類似。但還有一些差異應引起注意。這些其實和泛型有些類似,陣列的操作沒有泛型方便,但是效能卻不是泛型所能比擬的 宣告陣列時,方括號 必須跟在型別後面,而不是識別符號後面。在c 中,將方括號放在...

php二維陣列轉換一維陣列

假設有下面乙個二維陣列 user array 0 array id 100,username a1 1 array id 101,username a2 2 array id 102,username a3 3 array id 103,username a4 4 array id 104,user...