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

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

作成日: 更新日:

基本的な使い方

『validメソッドは、イテレータの現在の位置に有効な要素が存在するかどうかを確認する処理を実行するメソッドです。このメソッドは、PHPの標準インターフェースであるIteratorを実装するクラスに必須のメソッドであり、CachingIteratorにおいても同様の役割を果たします。具体的には、内部で保持している元のイテレータが有効な項目を指している場合はtrueを返し、イテレーションが終端に達してこれ以上有効な項目がない場合にはfalseを返します。この戻り値は、foreach文などの反復処理において、ループを継続するか終了するかを判断するために内部的に利用されます。ループの各反復の開始時にこのメソッドが呼び出され、trueが返される限り処理が続行され、falseが返された時点でループは終了します。したがって、このメソッドはイテレータを用いた繰り返し処理の制御において、その継続条件を判定する中心的な役割を担っています。

構文(syntax)

1<?php
2
3$data = ['apple', 'banana', 'cherry'];
4$iterator = new CachingIterator(new ArrayIterator($data));
5
6// イテレータが有効な間、ループを続ける
7while ($iterator->valid()) {
8    echo $iterator->current() . PHP_EOL;
9    $iterator->next();
10}
11
12// ループ終了後、イテレータは無効になる
13var_dump($iterator->valid()); // bool(false)
14
15?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

bool

現在のキャッシュされた要素が有効であるかどうかを真偽値で返します。