usort在调用类方法时,第二个参数需要使用array,array第一项为类名,第二项为方法名。需要注意的是,该方法必须为静态方法,如果类是带命名空间的,需要写包含命名空间的类名称,节选代码如下:
namespace Home\Controller;
class TreeListController{
static function sortFun($a, $b) {
if ($a['index'] == $b['index']) {
return 0;
}
return ($a['index'] > $b['index']?1:-1);
}
private function getList($type, $list = array()) {
$navigations = C('NAVIGATION_LIST');
$configs = $navigations[$type];
usort($configs, array('Home\Controller\TreeListController', 'sortFun'));
return $configs;
}