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

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

作成日: 更新日:

基本的な使い方

keyメソッドは、イテレータの現在の要素のキーを返すために定義されたメソッドです。このメソッドが所属するEmptyIteratorクラスは、その名の通り要素を一切持たない特殊なイテレータを表します。foreachループなどでこのイテレータを処理しようとしても、内部に要素が存在しないためループは一度も実行されません。EmptyIteratorにおいてkeyメソッドが呼び出される状況は通常ありませんが、PHPのIteratorインターフェースで定められた要件を満たすために実装されています。Iteratorインターフェースを実装するクラスは、currentkeynextrewindvalidという5つのメソッドを必ず定義する必要があります。EmptyIteratorは、要素がない場合でもイテレータとして一貫した振る舞いを保証する役割を担っており、そのためにkeyメソッドも形式的に実装されています。このメソッドは、現在の位置に有効なキーが存在しないことを示すため、呼び出されても何も実行せず、常にnullを返します。

構文(syntax)

1<?php
2
3$iterator = new EmptyIterator();
4$key = $iterator->key();

引数(parameters)

引数なし

引数はありません

戻り値(return)

never

このメソッドは、実行されると例外をスローするため、実行フローがメソッドの終了に到達しません。そのため、戻り値は定義されていません。

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