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

Mat*_*der 3 php sorting usort symfony

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

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

usort($content, 'compare');
Run Code Online (Sandbox Code Playgroud)

这给了我以下错误:

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

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

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

return $content;

}

//sort
private function compare($a, $b)
{
    return strnatcmp($a['sort'], $b['sort']);
}
Run Code Online (Sandbox Code Playgroud)

这没有变化

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

return $content;

}

//sort
private function compare($a, $b)
{
    return strnatcmp($a['sort'], $b['sort']);
}
Run Code Online (Sandbox Code Playgroud)

cry*_*c ツ 6

usort($content, array($this, 'compare'));
Run Code Online (Sandbox Code Playgroud)

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


Squ*_*zic 5

尝试匿名实现该功能:

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

return $content;
Run Code Online (Sandbox Code Playgroud)