欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

请教数组如何多条件排序

程序员文章站 2022-05-12 12:06:44
...

请问数组怎么多条件排序 array( '000-00'=array( 'qty'=20, 'price'=200 ), '0001-00'=array( 'qty'=10, 'price'=100 ), '0002-00'=array( 'qty'=30, 【本文来自鸿网互联 (http://www.68idc.cn)】'price'=50 ) ) 请问怎么样先按qty由小到大排序,然后按Price

请问数组怎么多条件排序
array(
'000-00'=>array(
'qty'=>20,
'price'=>200
),
'0001-00'=>array(
'qty'=>10,
'price'=>100
),
'0002-00'=>array(
'qty'=>30,
【本文来自鸿网互联 (http://www.68idc.cn)】 'price'=>50
)

)

请问怎么样先按qty由小到大排序,然后按Price由大到小排序。


------解决思路----------------------
$a = array(
'000-00'=>array(
'qty'=>20,
'price'=>200
),
'0001-00'=>array(
'qty'=>10,
'price'=>100
),
'0002-00'=>array(
'qty'=>30,
'price'=>50
)

);
foreach($a as $k=>$v) {
$qty[] = $v['qty'];
$price[] = $v['price'];
}
array_multisort($qty, $price, SORT_DESC, $a);
print_r($a);
Array
(
[0001-00] => Array
(
[qty] => 10
[price] => 100
)

[000-00] => Array
(
[qty] => 20
[price] => 200
)

[0002-00] => Array
(
[qty] => 30
[price] => 50
)

)