一維陣列排序
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...