📜  laravel 排序集合 - PHP (1)

📅  最后修改于: 2023-12-03 14:43:48.262000             🧑  作者: Mango

Laravel 排序集合 - PHP

在 Laravel 中,我们可以使用 collection 对象对数组进行操作和排序。在这篇文章中,我们将学习如何对集合进行排序。

创建一个集合

我们先创建一个简单的集合,然后对其进行排序。下面是创建集合的代码:

$collection = collect([
    ['name' => 'John', 'age' => 23],
    ['name' => 'Jane', 'age' => 18],
    ['name' => 'Bob', 'age' => 32],
]);
按值排序

我们可以通过 sortBysortByDesc 方法按照集合中某个键的值进行排序。

  • sortBy 方法按照值升序排序。
$collection = $collection->sortBy('age');
  • sortByDesc 方法按照值降序排序。
$collection = $collection->sortByDesc('age');
按键排序

我们可以通过 sortBysortByDesc 方法按照集合中某个键进行排序。

  • sortBy 方法按照键升序排序。
$collection = $collection->sortBy(function ($item) {
    return $item['name'];
});
  • sortByDesc 方法按照键降序排序。
$collection = $collection->sortByDesc(function ($item) {
    return $item['name'];
});
自定义排序

我们可以通过 sort 方法自定义排序逻辑。

$collection = $collection->sort(function ($a, $b) {
    return $a['age'] - $b['age'];
});
集合方法链

我们可以通过集合方法链对集合进行多重操作。

$collection = collect([
    ['name' => 'John', 'age' => 23],
    ['name' => 'Jane', 'age' => 18],
    ['name' => 'Bob', 'age' => 32],
]);

$collection = $collection->sortBy('age')->values()->all();

最后,我们可以使用 all 方法将集合转换为普通数组,以便进行下一步操作。

这就是如何在 Laravel 中排序集合的方法。如果您有其他的技巧或建议,请在下面的评论区留言。