こんにちは、太郎です。
独学でWEB制作を学んで1年で制作会社に転職し、今は現役エンジニアとして活動しています
今回はLaravelのcollectionでkeyを扱いたいときに使えるTipsを紹介します。
collectionは配列の操作をより直感的かつ効率的に行うために設計されたツールであり、データの取り扱いを大幅に簡素化します。
特にcollectionにはcollection関数と言った便利な関数がたくさんあるのでこの機会にに学んで使い倒していってください
この記事では、Laravelコレクションでの「キー」に基づく操作方法を詳しく解説します。
- この記事で分かること
- collectionでkeyを取り出す方法
- keyの存在チェック
面倒な配列操作もcollection関数だと比較的簡単に扱えるよ!
コレクションでのキーの扱い方
使用する配列の紹介
今回は下記のcollectionを元に実際の操作コードを書いていきます!
$collection = collect(['name' => 'Alice', 'age' => 30, 'email' => 'alice@example.com']);
全てのキーの取得
コレクション内の全てのキーを取得するには、keys()
メソッドを使用します。
$collection = collect(['name' => 'Alice', 'age' => 30, 'email' => 'alice@example.com']);
$keys = $collection->keys();
dd($keys);
//["name","age","email"]←キーのみのcollectionが出来た
このメソッドは、元のコレクションのキーのみを含む新しいコレクションを返します。
特定のキーの値(value)を出力
特定のキーの値(value)を出力したいときはget()メソッドを使用します
$collection = collect(['name' => 'Alice', 'age' => 30, 'email' => 'alice@example.com']);
$exists = $collection->get('name');
dd($exists);
//Alice ←キー(name)の値(value)
get()
メソッドは、指定したキーの値が存在する場合、valueを出力します!
キーの存在チェック(boolean)
特定のキーが存在するかどうかを確認するには、has()
メソッドを使います。
$collection = collect(['name' => 'Alice', 'age' => 30, 'email' => 'alice@example.com']);
$exists = $collection->has('name');
dd($exists);
//ture ←キー(name)の存在がture()
has()
メソッドは、指定したキーが存在する場合はtrue、存在しない場合はfalseを返します。
既存のコレクションへのキーを追加
既存のコレクションに新しいキーと値のペアを追加するには、put()
メソッドを使用します。
$collection = collect(['name' => 'Alice', 'age' => 30, 'email' => 'alice@example.com']);
$collection = $collection->put('location','');
dd($collection);
//['name' => 'Alice', 'age' => 30, 'email' => 'alice@example.com','location' => '']←新たなキーとしてlocationが追加された
特定のキーの要素のみ抽出
filter()
メソッドを使用して、特定のキーを持つ要素のみを抽出できます。
$collection = collect([
'prod-100' => ['product_id' => 'prod-100', 'name' => 'Desk', 'price' => 200],
'prod-200' => ['product_id' => 'prod-200', 'name' => 'Chair', 'price' => 100]
]);
$new_collection = $collection->filter(function ($item, $key) {
return $key === 'prod-100';
});
dd($new_collection); ←キーが 'prod-100' の要素のみの新しいコレクションができる
キーによる並べ替え
sortKeys()
メソッドを使用して、コレクションをキーに基づいて並べ替えることができます。
$collection = collect(['b' => 2, 'a' => 1, 'c' => 3]);
$sorted = $collection->sortKeys();
dd($sorted);
// 結果: ['a' => 1, 'b' => 2, 'c' => 3]←アルファベット昇順に並び替えられている
キーと値の入れ替え
flip()
メソッドを使用すると、コレクションのキーと値を入れ替えることができます。
$collection = collect(['name' => 'Alice', 'age' => 30]);
$flipped = $collection->flip();
// 結果: ['Alice' => 'name', '30' => 'age']
まとめ:キーの取得方法やキーを使っての取得の解説
Laravelのコレクションは、その豊富なメソッドを活用することで、複雑なデータ操作を簡単かつ効率的に行うことができます。
キーに基づく操作はデータの抽出や整形に特に役立ちます。特に並べ替えやグルーピング、フィルタリングなんかのときに便利ですね!
コレクションには他にも様々な便利な機能があるので随時更新していきます!
以上。太郎でした~!
コメント