B3S
menu close

Laravel

$loopという変数について


イブリン

更新日:2026/03/03


AIってすごいところまで来ましたね。プライベートでは画像生成とかちょっとしたプログラム作りでかなり世話になっていますが、仕事中もレビューや複雑なロジックのリファクタリングでAIを使用したりしています。

その中で、意外にも学びがありました。

「お、ハルシネーションか?」と思った瞬間

とあるコードのリファクタリングをさせてるところで、AIからこんなコード提案されました。

$loopってなんやねん。

どこにも定義していない変数を使っているし、いきなり「first」とか言い出してる。 「出たよAIのハルシネーション!」と、心の中でニヤリとしてしまった私。

AIの誤りを突き止めたつもりで呑気にぐぐってみると……。

……実在してるぞ。

Laravelの魔法:$loop 変数とは

調べてみると、これはLaravelのBladeテンプレートで利用できる変数でした。

わざわざ $key を回したり、array_key_last で最後を判定したりしなくても、@foreach の中ならいつでも $loop が使える。これまでの「泥臭い条件分岐」が嘘のようにスッキリ書ける魔法の変数だったのです。

特に便利だなと思ったのが、以下のプロパティたちです。

プロパティ 説明
$loop->first ループの最初の回か?
$loop->last ループの最後の回か?
$loop->iteration 現在何回目か(1からカウント)
$loop->index 現在何回目か(0からカウント)
$loop->count 全体の要素数
$loop->even / $loop->odd 偶数回目か、奇数回目か

これまでは if ($i === 0)if ($i === count($array) - 1) と書いていた処理が、これだけで完結します。特にテーブルの行の色分け(奇数・偶数)や、区切り線を入れる時なんかはめちゃくちゃ捗りますね。

まとめ:AIを疑いながら使うのも、また一興

正直、最初はAIを疑う気持ちから始まったことですが、結果として「知らなかった便利な記法」に辿り着くことができました。

AIの提案をただ盲信するのではなく、「本当か?」と検証するプロセスの中にこそ、エンジニアとしての学びがあるのかもしれません。

皆さんも、AIが提案する「謎のコード」を見つけたら、すぐに否定せず一度調べてみると、意外な発見があるかもしれませんね!