【发布时间】:2013-03-18 22:51:16
【问题描述】:
我收到此错误:
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;
}
还有其他方法可以根据对象的属性对对象进行排序吗?
【问题讨论】:
-
再次阅读错误信息。只有序列(读取:数组)可以使用*sort 函数进行排序。它不是在谈论 in 数组中的值。
-
什么是“结果对象”?
-
如果您只使用对象属性,您可以将对象转换为数组,对其进行排序,然后再次将其转换为对象
标签: php