Laravel Collectionのsortメソッドは、コレクション内の要素を並べ替えるために使用されます。
以下にLaravel Collectionのsortメソッドの使い方と例を示します。
目次
基本のソート
$collection = collect([5, 3, 1, 4, 2]);
$sorted = $collection->sort();
$sorted->values()->all(); // [1, 2, 3, 4, 5]
上記の例では、コレクション内の要素が数値であり、昇順でソートされます。結果は、[1, 2, 3, 4, 5]となります。
クロージャを使用したソート
$collection = collect([
['name' => 'John', 'age' => 25],
['name' => 'Jane', 'age' => 30],
['name' => 'Bob', 'age' => 20]
]);
$sorted = $collection->sortBy(function ($a, $b) {
return $a['age'] - $b['age'];
});
/*
[
['name' => 'Bob', 'age' => 20],
['name' => 'John', 'age' => 25],
['name' => 'Jane', 'age' => 30]
]
*/
上記の例では、コレクション内の各要素は連想配列であり、age
キーに基づいて昇順でソートされます。
結果は、Bob(20歳)、John(25歳)、Jane(30歳)の順で並べられます。
キーを指定したソート
$collection = collect([
['name' => 'John', 'age' => 25],
['name' => 'Jane', 'age' => 30],
['name' => 'Bob', 'age' => 20]
]);
$sorted = $collection->sortBy('age')->values();
/*
[
['name' => 'Bob', 'age' => 20],
['name' => 'John', 'age' => 25],
['name' => 'Jane', 'age' => 30]
]
*/
上記の例では、sortBy
メソッドを使用してage
キーに基づいてコレクションをソートし、valuesメソッドでインデックスをリセットします。
これにより、Bob(20歳)、John(25歳)、Jane(30歳)の順で並べられたコレクションが得られます。
これらはLaravel Collectionのsortメソッドの一般的な使い方の例です。ソートの仕組みや詳細なパラメータについては、Laravelドキュメントを参照してください。
コメントを残す