我相信你很好。
我想尝试通过对象的score属性对此数组进行排序。下面是数据示例(print_r)。
Array
(
[0] => stdClass Object
(
[device] => 352454530452548
[reg] => MAM 432A
[distance] => 823.36
[ha_points] => 1
[hb_points] => 235
[hc_points] => 7.5
[idling_points] => 111.5
[speeding_points] => 168
[total] => 523
[score] => 68.239895064127
)
[1] => stdClass Object
(
[device] => 3518020541565265
[reg] => SM** ***
[distance] => 851.07
[ha_points] => 14
[hb_points] => 136
[hc_points] => 6
[idling_points] => 50
[speeding_points] => 336
[total] => 542
[score] => 68.957730856451
)
得分可以是0到100之间的任何值,我想将它们按降序排序(最大的第一个?)。为了使事情变得更复杂,虽然机会非常小,但可能有两个相同的分数,在这种情况下,哪个是第一个并不重要。
有什么想法吗?
提前致谢,
保
答案 0 :(得分:0)
一个简单的usort
将完成这项工作。
$arrData = array(/* ... */);
usort($arrData, function($a, $b) {
return $a->score < $b->score ? 1 : -1;
});