【PHP8.x】currentメソッドの使い方

currentメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

『currentメソッドは、イテレータの現在の要素を取得するために実装されたメソッドです』 このメソッドは、PHPの標準インターフェースであるIteratorインターフェースの規約を満たすために、EmptyIteratorクラスに定義されています。EmptyIteratorクラスは、その名前が示す通り、要素を一切持たない「空」のイテレータを表すためのものです。そのため、このクラスのインスタンスには反復処理の対象となる要素が存在せず、currentメソッドが返すことのできる「現在の要素」もありません。実際に、foreach構文などでイテレータを使用する場合、ループの各ステップでまずvalidメソッドが呼び出され、イテレータが有効かどうかが確認されます。EmptyIteratorのvalidメソッドは常にfalseを返すように設計されているため、ループ処理が開始されることはなく、結果としてこのcurrentメソッドが実行される状況は通常発生しません。したがって、このメソッドは主にインターフェースの仕様を完全に実装するための形式的な存在であり、実際のプログラムフローで呼び出されることを意図したものではありません。

構文(syntax)

1<?php
2
3$iterator = new EmptyIterator();
4
5var_dump($iterator->current());
6
7?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

never

EmptyIterator::current()は、常に例外をスローするため、正常な実行フローにおいて戻り値はありません。

【PHP8.x】currentメソッドの使い方 | いっしー@Webエンジニア