【PHP8.x】acceptメソッドの使い方
acceptメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
『acceptメソッドは、CallbackFilterIteratorがイテレータの現在の要素をフィルタリングするかどうかを判定するために実行するメソッドです。このメソッドは、FilterIteratorクラスから継承されたものであり、通常、開発者が直接呼び出すことはありません。foreach文などでイテレータをループ処理する際に、各要素に対してPHPの内部処理によって自動的に呼び出されます。このメソッドの主な役割は、CallbackFilterIteratorのインスタンス作成時にコンストラクタで指定されたコールバック関数を実行することです。コールバック関数には、現在の要素の値、キー、そして元のイテレータ自身が引数として渡されます。そして、acceptメソッドはコールバック関数が返した真偽値(trueまたはfalse)を、そのまま自身の戻り値として返します。戻り値がtrueであれば、現在の要素は有効と判断され、イテレーションの結果として残ります。逆にfalseが返された場合、その要素は条件に合わないものとして除外されます。この仕組みによって、複雑なループ処理を記述することなく、指定した条件に基づいて要素を柔軟に絞り込むことが可能になります。』
構文(syntax)
1<?php 2 3$iterator = new ArrayIterator([10, 20, 30, 40, 50]); 4 5// CallbackFilterIteratorのaccept()メソッドは、 6// コンストラクタの第2引数で渡されたコールバック関数を実行します。 7$acceptLogic = function (int $current, int $key, Iterator $iterator): bool { 8 // このコールバックがtrueを返した要素のみが有効となります。 9 return $current > 25; 10}; 11 12$filteredIterator = new CallbackFilterIterator($iterator, $acceptLogic);
引数(parameters)
引数なし
引数はありません
戻り値(return)
bool
このメソッドは、現在の要素がフィルタリング条件を満たすかどうかを示す真偽値(trueまたはfalse)を返します。