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

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

作成日: 更新日:

基本的な使い方

『keyメソッドは、フィルタリング後の現在の要素のキーを返す処理を実行するメソッドです。CallbackFilterIteratorクラスは、配列や他のイテレータオブジェクトを内包し、指定されたコールバック関数を用いて、条件に一致する要素のみを抽出する機能を提供します。このイテレータをforeach文などで反復処理すると、フィルタリング条件を通過した要素だけが順番にアクセスされます。keyメソッドは、その反復処理の各ステップにおいて、現在指し示している要素のキーを取得するために使用します。返される値は、元のイテレータが保持していたキーそのものです。例えば、元のデータが連想配列であれば文字列のキーが、数値添字配列であればそのインデックス番号が返されます。このメソッドは、PHPの標準的なIteratorインターフェースで定義されており、currentメソッドが要素の値を返すのに対し、keyメソッドはそれに対応するキーを返す役割を担います。これにより、開発者はフィルタリングされた結果セットの中から、元のキー情報を利用して特定の要素を効率的に扱うことができます。』

構文(syntax)

1<?php
2
3$array = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4];
4$iterator = new ArrayIterator($array);
5
6// 値が偶数の要素のみを許可するフィルターを作成
7$filterIterator = new CallbackFilterIterator($iterator, function ($current) {
8    return $current % 2 === 0;
9});
10
11// フィルターされたイテレータをループ処理
12foreach ($filterIterator as $value) {
13    // 現在の要素のキーを取得する
14    $currentKey = $filterIterator->key();
15
16    echo "キー: " . $currentKey . ", 値: " . $value . PHP_EOL;
17}
18
19?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

mixed

CallbackFilterIterator::key の戻り値は mixed です。これは、現在のイテレータのキーを返します。キーは数値または文字列のいずれかになります。

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