ホーム » 記事一覧 » 技術メモ » 開発 » Laravelテクニック » Laravel Collectionの each メソッドで反復処理を効率化する

Laravel Collectionの each メソッドで反復処理を効率化する

LaravelのCollectionクラスのeachメソッドは、コレクション内の各アイテムに対して指定したコールバック関数を実行するための便利な方法です。

eachメソッドを使用することで、反復処理を行いながらアイテムに対して任意の処理を行うことができます。

各アイテムを出力する

$collection = collect([1, 2, 3, 4, 5]);

$collection->each(function ($item, $key) {
    echo $item . ' ';
});

// 出力: 1 2 3 4 5

コールバック関数は、各アイテムとそのキー(もしあれば)を引数として受け取ります。アイテムは$itemとして、キーは$keyとして参照できます。

キーと値を利用してアイテムに処理を行う

$collection = collect(['apple' => 'りんご', 'orange' => 'オレンジ', 'banana' => 'バナナ']);

$collection->each(function ($item, $key) {
    echo $key . ': ' . $item . ', ';
});

// 出力: apple: りんご, orange: オレンジ, banana: バナナ,

アイテムを変更する

$collection = collect([1, 2, 3, 4, 5]);

$collection->each(function (&$item, $key) {
    $item = $item * 2;
});

$collection->all(); // [2, 4, 6, 8, 10]

上記の例では、コールバック関数内でアイテムの値を変更しています。&$itemのようにアイテムを参照渡しすることで、変更が反映されます。

eachメソッドは、コレクション内の各アイテムに対して処理を行いたい場合に非常に便利です。

さまざまな処理を実行することができるため、柔軟性のある操作が可能です。

投稿者

ここまで読んでいただき、ありがとうございます。

このサイトでは、私自身が関わっていることや、興味を持って試していることをそのまま置いています。

内容を見ていて、
「少し話を聞いてみたい」
「協業できる部分がありそう」
と感じる点があれば、下記のお問い合わせフォームからご連絡ください。状況を確認したうえで、必要な範囲でお返事します。


Comments

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です