PHP二維陣列排序

2022-09-08 01:54:11 字數 2101 閱讀 1299

一、

1.$arrays   要排序的陣列

$sort_key 根據排序的key

$sort_order 公升序降序    sort_asc/sort_desc

$sort_type 排序key型別 sort_numeric/sort_string

返回值:重新排列後的陣列

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

}}else

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

return $arrays;

}2.

//$array 要排序的陣列

//$row 排序依據列

//$type 排序型別[asc or desc]

//return 排好序的陣列

function array_sort($array,$row,$type)

if($type == 'asc')elseif($type='desc')else

return array_values($array_temp);

}二、

$arr = array(

0=>array('id'=>5,'name'=>'小明','num'=> 14),

1=>array('id'=>5,'name'=>'小李','num'=>52),

2=>array('id'=>4,'name'=>'小花','num'=>36),

3=>array('id'=>6,'name'=>'小李','num'=>14)

);

採用php中的func_get_args函式,來動態獲取傳入的值,解決多欄位排序。實現如下:

/**

* 多維陣列指定多欄位排序

* 排序:sort_asc公升序 , sort_desc降序

* 示例:$this->multiaarraysort($arr, 'num', sort_desc, 'sort', sort_asc)

*@return array

*/public function multiaarraysort()

$arr = array_shift($funcargs);

if(!is_array($arr))

foreach($funcargs as $key => $value)

$funcargs[$key] = $temparr;}}

$funcargs = &$arr;

call_user_func_array('array_multisort', $funcargs);

return array_pop($funcargs);

}// 執行

$arr = $this->multiaarraysort($arr, 'id', sort_desc, 'num', sort_desc);

var_dump($arr);

執行結果如下:

array (size=4)

0 =>

array (size=3)

'id' => int 6

'name' => string '小李' (length=6)

'num' => int 14

1 =>

array (size=3)

'id' => int 5

'name' => string '小李' (length=6)

'num' => int 52

2 =>

array (size=3)

'id' => int 5

'name' => string '小明' (length=6)

'num' => int 14

3 =>

array (size=3)

'id' => int 4

'name' => string '小花' (length=6)

'num' => int 36

PHP二維陣列排序

php經過長時間的發展,很多使用者都很了解它了,上網收集了一些關於php二維陣列的相關知識,這裡和大家一起分享一下,php本身是有乙個多維陣列排序的函式的。bool array multisort array ar1 mixed arg mixed array 下面是手冊當中對於array mult...

PHP二維陣列排序

對二維陣列進行排序 模擬 資料表記錄按欄位排序 list order list,get orderkey get ordertype param array array 要排序的陣列 param string orderkey 排序關鍵字 字段 param string ordertype 排序方式...

php 二維陣列排序

寫乙個二維陣列排序演算法函式,能夠具有通用性,可以呼叫php內建函式 二維陣列排序,arr是資料,keys是排序的健值,order是排序規則,1是公升序,0是降序 function array sort arr,keys,order 0 keysvalue array foreach arr as ...