排序n个对象的数组 - uasort和sort

时间:2013-09-09 21:01:15

标签: php arrays sorting

我从数据库中获取数据,导致数组具有无限制的对象,如下所示(示例为2个对象,但可以有更多):

array(2) 
{
  [0]              object(stdClass)#34 (6) 
  {
    ["id"]         string(2) "32"
    ["voting_id"]  string(2) "42"
    ["answer"]     string(4) "No"
    ["color"]      string(7) "#F7464A"
    ["votes"]      string(1) "1"
    ["percentage"] float(0.166666666667)
  }
  [1]              object(stdClass)#33 (6) 
  {
    ["id"]         string(2) "31"
    ["voting_id"]  string(2) "42"
    ["answer"]     string(2) "Yes"
    ["color"]      string(7) "#E2EAE9"
    ["votes"]      string(1) "5"
    ["percentage"] float(0.833333333333)
  }
}

我想通过投票或百分比asc / desc对此数组进行排序。我尝试过:

function sorterVotes($a, $b) {
    if ( $a->votes < $b->votes ) return -1;
    if ( $a->votes > $b->votes ) return 1;
    return 0;
}

usort($answers, 'sorterVotes');
var_dump($answers);

但唯一可以排序的是[0]和[1]更改,但这对我没有帮助,因为我稍后会通过foreach浏览该数组。 如何按投票/百分比和asc / desc?

对n个对象的数组进行排序

如果有人可以提供帮助,那会很棒。感谢。

0 个答案:

没有答案