我有以下数组:
$arr = [
[
'user_id' => 1,'product_id' => 1
],[
'user_id' => 1,'product_id' => 2
],'product_id' => 3
],[
'user_id' => 2,[
'user_id' => 3,'product_id' => 1
]
];
我想对它进行排序,看起来像这样:
$arr = [
[
'user_id' => 1,'product_id' => 3
]
];
所以基本上我需要通过product_id和user_id进行排序,以便在继续下一个之前从每个用户中选择较低数量的product_id.
我尝试使用usort但是我无法让它工作.
usort($campaigns,function($a,$b){
if($a['product_id'] == $b['product_id']){
return 0;
}
if($a['product_id'] < $b['product_id']){
if($a['user_id'] == $b['user_id']){
return 1;
}
if($a['user_id'] < $a['user_id']){
return 0;
}
return -1;
}else{
if($a['user_id'] == $a['user_id']){
return -1;
}
if($a['user_id'] < $a['user_id']){
return 0;
}
return 1;
}
});
我也尝试过array_multisort,但我能做到的就是使用我已从数据库中检索的相同顺序进行排序.