PHP 二維陣列排序

2022-05-22 06:30:08 字數 1958 閱讀 7131

用到二維陣列排序,到手冊裡面查了下,有這樣乙個很不錯的函式,和資料庫裡面的order

by功能是一樣的,把二位陣列當成乙個資料庫的表。陣列的key就相當於標的列,陣列的value相當於標的行:

$xml_deed_temp=array(

array(』deed_id』=>1,』total』=>』b101′),

array(』deed_id』=>2,』total』=>』3′),

array(』deed_id』=>2,』total』=>』4′),

array(』deed_id』=>5,』total』=>』a5′),

array(』deed_id』=>8,』total』=>』a8′),

array(』deed_id』=>12,』total』=>』a12′),

array(』deed_id』=>11,』total』=>』a11′),

array(』deed_id』=>6,』total』=>』a6′)

);上面的陣列可以看成如下乙個資料庫表:

deed_id total

—————————-

1 b101

2 32 4

5 a5

8 a8

12 a12

11 a11

6 a6

——————————-

排序的時候先要取出其中的一列,然後就可以這樣:

array_multisort($sortdeed,, sort_asc, $xml_deed_temp);

$xml_deed_temp 就是要排序的陣列,$sortdeed,就是要排序的列的陣列(這個陣列要先foreach

$xml_deed_temp然後將deed_id那一列取出放到$sortdeed陣列裡面),如果要實現order by

col1,col2這樣的,可以把多個列取出進行排序,排序先按col1排,再按col2排

$xml_deed_temp

=array

(array('

deed_id

'=>1,

'total

'=>

'b101')

,array('

deed_id

'=>2,

'total

'=>'3

'),array('

deed_id

'=>2,

'total

'=>'4

'),array('

deed_id

'=>5,

'total

'=>'a5

'),array('

deed_id

'=>8,

'total

'=>'a8

'),array('

deed_id

'=>12,

'total

'=>

'a12')

,array('

deed_id

'=>11,

'total

'=>

'a11')

,array('

deed_id

'=>6,

'total

'=>'a6

'));

foreach

($xml_deed_temp

as$t_k

=>

$t_v

)array_multisort

($deed_id

, sort_asc

, $total

, sort_asc

, $xml_deed_temp);

print_r

($xml_deed_temp);

foreach($result as $k=>$v)

array_multisort($ifoptimal_arr,

sort_desc,$createtime_arr,sort_desc,$result);

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 ...