array_multisort 二维数组指定键值排序
本帖最后由 haozhongyang 于 2015-7-8 17:26 编辑测试数据data_list如下,需要按照sale_amount, amount 倒序
array (
0 =>
array (
'name' => '面包',
'sale_amount' => 1,
'amount' => 1,
),
1 =>
array (
'name' => '牛奶',
'sale_amount' => 10,
'amount' => 5,
),
2 =>
array (
'name' => '火腿',
'sale_amount' => 6,
'amount' => 2,
),
3 =>
array (
'name' => '鸡肉',
'sale_amount' => 12,
'amount' => 1,
),
4 =>
array (
'name' => '米饭',
'sale_amount' => 6,
'amount' => 6,
),
)
使用array_multisort函数
foreach ($data_list as $k => $v) {
$sale_amount[$k] = $v['sale_amount']; // 销售数量
$amount[$k] = $v['amount']; // 库存数量
}
array_multisort($sale_amount, SORT_DESC, $amount, SORT_DESC, $data_list);结果array (
0 =>
array (
'name' => '鸡肉',
'sale_amount' => 12,
'amount' => 1,
),
1 =>
array (
'name' => '牛奶',
'sale_amount' => 10,
'amount' => 5,
),
2 =>
array (
'name' => '米饭',
'sale_amount' => 6,
'amount' => 6,
),
3 =>
array (
'name' => '火腿',
'sale_amount' => 6,
'amount' => 2,
),
4 =>
array (
'name' => '面包',
'sale_amount' => 1,
'amount' => 1,
),
)
页:
[1]