📅  最后修改于: 2023-12-03 15:28:52.216000             🧑  作者: Mango
sortByDesc
在 Laravel 集合中,sortByDesc
方法可用于按降序对集合中的项目进行排序。
$collection->sortByDesc($callback);
其中,$callback
可以是回调函数、方法、属性或键。
假设我们有一个包含学生信息的集合,每个学生都有一个 score
属性。
$students = collect([
['name' => 'Alice', 'score' => 98],
['name' => 'Bob', 'score' => 85],
['name' => 'Charlie', 'score' => 76],
['name' => 'David', 'score' => 90],
['name' => 'Eddie', 'score' => 82],
]);
我们可以使用 sortByDesc
按照每个学生的分数进行降序排序:
$sortedStudents = $students->sortByDesc('score');
// 输出结果
dd($sortedStudents->all());
array:5 [
0 => array:2 [
"name" => "Alice"
"score" => 98
]
1 => array:2 [
"name" => "David"
"score" => 90
]
2 => array:2 [
"name" => "Bob"
"score" => 85
]
3 => array:2 [
"name" => "Eddie"
"score" => 82
]
4 => array:2 [
"name" => "Charlie"
"score" => 76
]
]
我们还可以使用回调函数自定义排序方式:
$sortedStudents = $students->sortByDesc(function ($student) {
return $student['name'];
});
// 输出结果
dd($sortedStudents->all());
array:5 [
0 => array:2 [
"name" => "Eddie"
"score" => 82
]
1 => array:2 [
"name" => "David"
"score" => 90
]
2 => array:2 [
"name" => "Charlie"
"score" => 76
]
3 => array:2 [
"name" => "Bob"
"score" => 85
]
4 => array:2 [
"name" => "Alice"
"score" => 98
]
]
sortByDesc
方法为 Laravel 集合提供了一种简单易用的降序排序方式,可以方便地根据指定的属性、方法或回调函数对集合进行排序。