如何使用usort
对symfony2
控制器内的关联数组进行排序?
//sort
function compare($a, $b)
{
return strnatcmp($a['sort'], $b['sort']);
}
usort($content, 'compare');
这给了我以下错误:
警告:usort()期望参数2是有效的回调函数,找不到函数'compare'或函数名无效
就像把它放在像这样的私有函数中一样
// 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']);
}
答案 0 :(得分:6)
usort($content, array($this, 'compare'));
这是将对象方法作为回调传递的方法。有关示例,请参阅callbacks。
答案 1 :(得分:5)
尝试匿名实施该功能:
usort($content, function ($a, $b) {
return strnatcmp($a['sort'], $b['sort']);
});
return $content;