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

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

作成日: 更新日:

基本的な使い方

『keyメソッドは、LimitIteratorが現在指している要素のキーを取得するメソッドです。LimitIteratorは、既存のイテレータをラップし、指定した範囲の要素のみを反復処理の対象とするためのクラスです。このkeyメソッドを呼び出すと、内部で保持している元のイテレータの現在のキーが返されます。重要な点として、LimitIteratorで設定したオフセット(開始位置)やカウント(要素数)は、返されるキーの値には影響を与えません。つまり、データの一部分を切り取って処理している場合でも、元のデータセットにおけるキーがそのまま取得されます。例えば、数値添字配列をラップし、オフセットを10に設定して反復処理を開始した場合、LimitIteratorにおける最初の要素のキーは0ではなく、元の配列のキーである10となります。この仕組みにより、データのサブセットを扱いながらも、各要素が元々持っていた一意な識別子や位置情報を正確に把握することができます。返り値の型は、元のイテレータのキーに依存するため、整数や文字列など様々です。』

構文(syntax)

1<?php
2
3// 元となる連想配列
4$fruits = [
5    'a' => 'Apple',
6    'b' => 'Banana',
7    'c' => 'Cherry',
8    'd' => 'Date',
9    'e' => 'Elderberry'
10];
11
12// ArrayIteratorオブジェクトを作成
13$arrayIterator = new ArrayIterator($fruits);
14
15// 2番目の要素('b')から3つ分に限定したイテレータを作成
16$limitIterator = new LimitIterator($arrayIterator, 1, 3);
17
18// イテレータをループ処理
19foreach ($limitIterator as $value) {
20    // 現在の反復処理におけるキーを取得して表示します
21    $currentKey = $limitIterator->key();
22    printf("キー: %s, 値: %s\n", $currentKey, $value);
23}
24
25?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

mixed

LimitIterator クラスの key メソッドは、現在のイテレータが指している要素のキーを返します。

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