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
メソッドは、コレクション内の各アイテムに対して処理を行いたい場合に非常に便利です。
さまざまな処理を実行することができるため、柔軟性のある操作が可能です。
コメントを残す