php - 在 symfony2 Controller 中使用 usort 和关联数组

标签 php sorting symfony usort

如何使用 usortsymfony2 Controller 中的关联数组进行排序?

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

usort($content, 'compare');

这给了我以下错误:

Warning: usort() expects parameter 2 to be a valid callback, function 'compare' not found or invalid function name

像这样把它放在自己的私有(private)函数中也是如此

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

最佳答案

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

这就是将对象方法作为回调传递的方式。参见 callbacks例如。

关于php - 在 symfony2 Controller 中使用 usort 和关联数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14281306/

相关文章:

Python:如何按子字符串相关性对字符串列表进行排序?

c# - 编辑合并排序以按 C# 降序排序

dependency-injection - 通过 services.yml 将自定义实体存储库类传递给服务

php - 从一个表中回显与另一表中的条件相匹配的数据

php - Google map 地理编码问题 : Certain Encoded URLs Failing

php - 命名空间和特征

algorithm - 了解大 O 复杂性

Symfony 3/Doctrine findOneBy() 使用 OR 条件

symfony - 将文件放在 Symfony2 的 app/cache 文件夹中是不是很糟糕?

javascript - 如何将输入数据数组传递给 Ajax 函数?