2

我收到此错误:

ErrorException:警告:usort() 期望参数 1 是数组,给定对象

我将来自 SQL 查询的结果对象传递给 usort:

usort($results, array($this, "sortDistance"));

我的排序功能:

private function sortDistance ($first, $next)
{
    $d1 = $this->searchDistance[$first->zip];
    $d2 = $this->searchDistance[$next->zip];

    if ($d1 == $d2) {
        return 0;
    }
    return ($d1 > $d2) ? +1 : -1;
}

还有另一种方法可以根据对象的属性对对象进行排序吗?

4

1 回答 1

0

您可以从结果集中创建一个对象数组,其中对象具有您需要排序的属性。然后使用成员函数作为 usort 的回调

于 2013-03-18T23:05:02.103 回答