在Laravel中,你可以使用sortBysortByDesc方法对集合进行升序和降序排序。

升序排序:

$collection = collect([3, 1, 2]);
$sorted = $collection->sortBy(function ($item) {
    return $item;
});

$sorted->values()->all(); // [1, 2, 3]

降序排序:

$collection = collect([3, 1, 2]);
$sortedDesc = $collection->sortByDesc(function ($item) {
    return $item;
});

$sortedDesc->values()->all(); // [3, 2, 1]

在上面的示例中,我们首先创建一个集合$collection,然后使用sortBy方法对集合进行升序排序。我们可以传递一个闭包函数作为参数,该函数定义了排序的依据。在这个例子中,我们简单地返回每个元素本身作为排序依据。最后,我们使用values方法来重新索引排序后的集合。

对于降序排序,我们使用sortByDesc方法,其余的步骤与升序排序相同。

你也可以根据集合中的某个键进行排序。例如,如果你有一个包含用户数据的集合,你可以按照用户名的字母顺序对集合进行排序:

$users = collect([
    ['name' => 'John'],
    ['name' => 'Jane'],
    ['name' => 'Amanda'],
]);

$sortedUsers = $users->sortBy('name');

$sortedUsers->values()->all(); 
// [['name' => 'Amanda'], ['name' => 'Jane'], ['name' => 'John']]

在这个例子中,我们使用sortBy方法并传递name作为参数,该参数指定了按照name键的值进行排序。最后,我们使用values方法来重新索引排序后的集合

laravel collection 升降序排序

原文地址: https://www.cveoy.top/t/topic/iBai 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录