laravel collection 升降序排序
在Laravel中,你可以使用sortBy和sortByDesc方法对集合进行升序和降序排序。
升序排序:
$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方法来重新索引排序后的集合
原文地址: https://www.cveoy.top/t/topic/iBai 著作权归作者所有。请勿转载和采集!