php - Laravel 的 array_sort 助手 DESC e ASC

标签 php arrays laravel laravel-4

我想使用 Laravel 助手 array_sort 按一个或多个键对多维数组进行排序。

array(
    array('firstname_1','lastname_1'),
    array('firstname_2','lastnmae_2')
)

我想先按名字再按姓氏排序。

我也想按 DESC 或 ASC 顺序执行此操作。我怎样才能做到这一点?

互联网上有可用的函数来执行此操作,但我想了解如何使用 Laravel 助手。 array_sort ( http://laravel.com/docs/helpers#arrays) 的文档我觉得不全面。

最佳答案

array_sort() 辅助函数是对默认 Illuminate\Support\Collection::sortBy() 方法的非常薄的包装。排除评论,这就是它所做的一切:

function array_sort($array, Closure $callback)
{
    return \Illuminate\Support\Collection::make($array)->sortBy($callback)->all();
}

虽然方便,但它的排序能力有限。同样,Collection 类将允许您更改排序方向,但除此之外别无其他。

在我看来,您有两个选择:

  1. 跳过仅限 Laravel 的解决方案并使用一些普通的 PHP 和 array_multisort()。作为@Jon评论,there's some great details in this SO question .

  2. 在 Collection 对象中结合使用分组和排序来实现您想要的结果。

我会坚持使用#1。

关于php - Laravel 的 array_sort 助手 DESC e ASC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24612944/

相关文章:

php - 如何添加 Auth 作为 Controller 依赖项以在 Laravel 4 中进行测试

laravel 在 try catch 中使用 withErrors

php - 如何在 zend framework 2 中自动加载 paypal php sdk 的类文件?

php - 如何将模型数据对象数组转换为dataProvider

php - Symfony Doctrine createQueryBuilder From() 别名不起作用

c++ - 数组的地址 VS 指针到指针 : Not the same?

php - Opencart 自定义管理区域 -> 查询仅显示表的第一条记录

java - 验证二维数组是否有两个相等行的算法

javascript - 如何在javascript中覆盖多维数组中的数据?

mysql - Laravel 5 具有多态关系的只读 View 模型