変な挙動
Tinkerで今月の最初の日付と最終日をそれぞれ別の変数に入れて出力
> php artisan tinker
Psy Shell v0.10.9 (PHP 7.4.4 — cli) by Justin Hileman
>>> $now = Carbon\Carbon::now();
=> Carbon\Carbon @1642055469 {#3917
date: 2022-01-13 15:31:09.011838 Asia/Tokyo (+09:00),
}
>>> $now_first_day = $now->startOfMonth();
=> Carbon\Carbon @1640962800 {#3917
date: 2022-01-01 00:00:00.0 Asia/Tokyo (+09:00),
}
>>> $now_end_day = $now->endOfMonth();
=> Carbon\Carbon @1643641199 {#3917
date: 2022-01-31 23:59:59.999999 Asia/Tokyo (+09:00),
}
>>> echo $now_first_day;
2022-01-31 23:59:59⏎
>>> echo $now_end_day;
2022-01-31 23:59:59⏎
あれ、$now_first_dayの値も最終日になってる
startOfMonth()は日付を返してるわけじゃなかった。
指定月の最初の日付を返してくれるメソッドと勘違いしてた。dateを書き換えるメソッドだった。
んでもってオブジェクトは参照渡しだから値が変わると。変な挙動も何も無知なだけでした。ちゃんちゃん