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

コメントを残す

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

CAPTCHA