我有以下示例数组:
Array
(
[0] = Array
(
[Campaign] = Array
(
...
[views] = 10
)
)
[1] = Array
(
[Campaign] = Array
(
...
[views] = 0
)
)
[2] = Array
(
[Campaign] = Array
(
...
[views] = 1
)
)
...
)
我希望能够通过“视图”选项对数组进行排序,因此我编写了以下内容:
class DashboardController {
...
public function recruitment_index(){
...
usort($mostviewed, array('DashboardController','sort_objects_by_views'));
...
}
...
function sort_objects_by_views($a, $b) {
if($a->Campaign->views == $b->Campaign->views){ return 0 ; }
return ($a->Campaign->views < $b->Campaign->views) ? -1 : 1;
}
}
但是我得到以下错误:
Notice (8): Trying to get property of non-object [APP/Controller/DashboardController.php, line 60]
60行是 if($a->Campaign->views == $b->Campaign->views){ return 0 ; }
您已经说过,您的数据是一个数组。因此,您应该以正确的方式访问它:
class DashboardController {
...
public function recruitment_index(){
...
usort($mostviewed, array('DashboardController','sort_objects_by_views'));
...
}
...
function sort_objects_by_views($a, $b) {
if($a['Campaign']['views'] == $b['Campaign']['views']){ return 0 ; }
return ($a['Campaign']['views'] < $b['Campaign']['views']) ? -1 : 1;
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句