3

如何使用usort对控制器内的关联数组进行排序symfony2

//sort
function compare($a, $b)
{
    return strnatcmp($a['sort'], $b['sort']);
}

usort($content, 'compare');

这给了我以下错误:

警告:usort() 期望参数 2 是有效的回调,未找到函数“比较”或无效的函数名称

就像把它放在它自己的私有函数中一样

// sort
usort($content, '$this->compare');

return $content;

}

//sort
private function compare($a, $b)
{
    return strnatcmp($a['sort'], $b['sort']);
}

这没有变化

// sort 
usort($content, 'compare');

return $content;

}

//sort
private function compare($a, $b)
{
    return strnatcmp($a['sort'], $b['sort']);
}
4

2 回答 2

7
usort($content, array($this, 'compare'));

这就是您将对象方法作为回调传递的方式。有关示例,请参见回调

于 2013-01-11T15:37:50.047 回答
5

尝试匿名实现该功能:

usort($content, function ($a, $b) {
    return strnatcmp($a['sort'], $b['sort']);
});

return $content;
于 2013-01-11T15:36:43.707 回答