在symfony2控制器中使用带有关联数组的usort

时间:2013-01-11 15:27:37

标签: php sorting symfony usort

如何使用usortsymfony2控制器内的关联数组进行排序?

//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']);
}

2 个答案:

答案 0 :(得分:6)

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

这是将对象方法作为回调传递的方法。有关示例,请参阅callbacks

答案 1 :(得分:5)

尝试匿名实施该功能:

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

return $content;