last — コレクションの最後の要素を取得

collection
  • カテゴリ: collection
  • 掲載バージョン: Laravel 10/11/12・PHP 8.4
  • 名前空間 / FQCN: Illuminate\Support\Collection::last
  • 関連: first / pop / takeLast / filter
  • 変更履歴: 旧バージョンから大きな変更なし

要点(TL;DR)

  • コレクションの最後の要素を返す
  • collect([1,2,3])->last();3
  • 注意点:
    • 空コレクションでは null を返す
    • 条件クロージャを渡すと最後に一致した要素を返す

概要

last メソッドは、コレクションの末尾要素を取得します。
クロージャを渡すと、その条件を満たす最後の要素を返します。
データの終了部分を確認したり、最新データを取得する場面でよく使われます。

構文 / シグネチャ

public function last(callable $callback = null, $default = null): mixed
  • 引数
引数必須既定値説明
$callback`callablenull`任意null
$defaultmixed任意null一致要素がない場合の返却値
  • 戻り値:任意型(最後の要素または条件一致要素、見つからなければ $default
  • 例外/副作用:特になし(非破壊的操作)

使用例

最小例

use Illuminate\Support\Collection;

$numbers = collect([10, 20, 30]);

echo $numbers->last(); 
// 30

条件付き取得

$numbers = collect([10, 15, 20, 25]);

$lastEven = $numbers->last(fn($n) => $n % 2 === 0);

echo $lastEven; 
// 20

デフォルト値の指定

$empty = collect([]);

$value = $empty->last(null, 'default');

echo $value; 
// default

よくある落とし穴・注意

  • 空コレクションでは null を返す → 明示的に $default を渡すと安全
  • クロージャを渡した場合、「最初に一致」ではなく「最後に一致」を返す
  • コレクションを逆順にしたい場合は reverse() を使うべき

代替・関連APIとの比較

  • first — 先頭要素を返す
  • pop — 最後の要素を返すがコレクションから削除する(破壊的)
  • takeLast — 複数の末尾要素をサブコレクションで返す

選定基準:

  • 最後の1件だけ必要last
  • 末尾から複数件取り出したいtakeLast
  • 削除しつつ取得pop

テスト例(Pest)

use Illuminate\Support\Collection;

it('returns the last element', function () {
    $c = collect([1, 2, 3]);
    expect($c->last())->toBe(3);
});

it('returns last element matching callback', function () {
    $c = collect([1, 2, 3, 4]);
    expect($c->last(fn($n) => $n % 2 === 0))->toBe(4);
});

トラブルシュート(エラー別)

症状/エラー原因対処
null が返るコレクションが空 / 条件に一致なし$default を指定する
意図した要素と違うクロージャは「最後に一致」を返す仕様first を使う

参考リンク

長野県・北アルプス地方在住のフリーランスWebプログラマー。
「落ち着くためのWeb開発」をテーマに、訪れる人が安心して使えるサービスづくりを心がけています。

LaravelやWordPressなどのWebアプリケーション開発を得意とし、技術面の安定性はもちろん、運用後も長く活用できる設計を大切にしています。
静かな山間の暮らしから生まれる視点で、シンプルかつ本質的な解決策をご提案します。

野鳥観察も趣味のひとつで、特にミソサザイ(Wren)に魅力を感じています。
小さな体に反して力強く上向きの尾羽、そして澄んだ鳴き声が遠くまで響く姿に、静かな存在感と芯の強さを感じます。
このサイト名「Laravel Wren」には、そんなミソサザイのように、小さくても確かな価値を届けたいという想いを込めています。

信頼できるパートナーとして、そして気軽に相談できる存在として、あなたのWebプロジェクトをサポートします。

Yudai Tsuyuzakiをフォローする