はじめに
LaravelやPHPを使って開発をしていると、
$collection->each(...)
Carbon::now()
といったコードをよく見かけます。
この記事では、Laravelでよく使われる each()
メソッドと Carbon
インスタンスの基本的な使い方や意味について解説します。
①each()
メソッドとは?
each()
は、コレクション(配列のようなデータ構造)に対して、1つずつ処理を行うためのメソッドです。
Laravelのコレクション(Illuminate\Support\Collection
)でよく使われます。
基本構文:
$collection->each(function ($item, $key) {
// ここで処理
});
使用例:
$users = collect([
['name' => '田中'],
['name' => '佐藤'],
['name' => '鈴木'],
]);
$users->each(function ($user) {
echo $user['name'] . "\n";
});
出力:
田中
佐藤
鈴木
each() と foreach の違い
each() はメソッドチェーン可能な「Laravel流」な書き方としてよく使われます。
③Carbon インスタンスとは?
Laravelでは、日付・時刻の操作にCarbon(カルボン)というライブラリが標準で使われています。
これは DateTime クラスを拡張した強力なツールで、直感的かつ読みやすい日付操作が可能です。
基本構文:
use Carbon\Carbon;
$now = Carbon::now();
これで $now は、現在日時を持つCarbonインスタンスになります。
よく使うメソッド・プロパティ
Carbon × each の組み合わせ例
$dates = collect([
'2025-01-01',
'2025-02-01',
'2025-03-01'
]);
$dates->each(function ($date) {
$carbonDate = Carbon::parse($date);
echo $carbonDate->format('Y年m月d日') . "\n";
});
④まとめ
each()
- LaravelのCollection専用のループメソッド
- foreach よりも「チェーンしやすく、読みやすい」
- よくBladeテンプレートやデータ処理で登場
Carbon
- Laravel標準の日付・時間操作ライブラリ
- Carbon::now() で現在日時がすぐ取れる
- addDays(), diffForHumans() など便利メソッドが豊富