如果我有一个按日期排序的对象列表,然后使用usort()
按另一个属性对它们进行排序,它们是否会在适当时按日期排序?如果不是我怎么能确定这一点?是否保留现有订单
usort($result, function($a, $b) {
if($a['distance'] < $b['distance']) {
return -1;
} elseif($a['distance'] > $b['distance']) {
return 1;
} else {
return 0;
}
});
$result
是按日期排序,但表示该日期的财产不再连接。 $a['distance']
是一个浮点数。
最终实现:
usort($result, function($a, $b) {
if($a['distance'] < $b['distance']) {
return -1;
} elseif($a['distance'] > $b['distance']) {
return 1;
} else {
if($a['date'] < $b['date']) {
return -1;
} elseif($a['date'] > $b['date']) {
return 1;
} else {
return 0;
}
}
});
$a['date']
是一个DateTime对象
我们展示例如与代码 –
@NullPoiиteя添加的代码,虽然我不知道,这将有助于,因为它是一个非常简单的使用usort的。 – Seraphithan
将您的阵列结构与预期输出一起发布 –