【PHP8.x】USE_KEY定数の使い方
USE_KEY定数の使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
USE_KEY定数は、RegexIteratorクラスが正規表現のマッチングを、イテレータのキーに対して実行するように指示するための定数です。RegexIteratorは、配列や他のイテレータオブジェクトを内包し、その要素を正規表現パターンに基づいてフィルタリングする機能を提供します。標準の動作では、イテレータが指す各要素の「値」に対して正規表現のマッチングが行われます。しかし、このUSE_KEY定数をコンストラクタの引数である$flagsに指定することで、マッチングの対象を「値」から「キー」へと変更することが可能になります。例えば、キーにファイル名、値にその更新日時を持つような連想配列から、特定の拡張子を持つファイル名(キー)だけを効率的に抽出したい場合に、この定数が役立ちます。このフラグを指定しない場合、更新日時(値)に対して検索が行われるため、キーを基準としたフィルタリングは実現できません。このように、USE_KEY定数は、RegexIteratorの動作モードを制御し、キーに基づいた柔軟なフィルタリングを実現するために使用されます。
構文(syntax)
1<?php 2 3$fruits = new ArrayIterator([ 4 'apple' => 'red', 5 'banana' => 'yellow', 6 'apricot' => 'orange', 7 'grape' => 'purple' 8]); 9 10$iterator = new RegexIterator( 11 $fruits, 12 '/^a/', 13 RegexIterator::USE_KEY 14); 15 16foreach ($iterator as $key => $value) { 17 echo $key . ': ' . $value . PHP_EOL; 18}
引数(parameters)
引数なし
引数はありません
戻り値(return)
int
RegexIterator::USE_KEY は、イテレータがキー(数値インデックス)を返すことを示す整数定数です。