If Iterator::valid() returns false, the foreach() loop will be terminated.
(PHP 5, PHP 7, PHP 8)
Iterator::valid — Vérifie si la position courante est valide
Cette méthode est appelée après Iterator::rewind() et Iterator::next() pour vérifier si la position courante est valide.
Cette fonction ne contient aucun paramètre.
La valeur retournée sera transtypée en booléen, puis, évaluée.
Cette fonction retourne true
en cas de succès ou false
si une erreur survient.
If Iterator::valid() returns false, the foreach() loop will be terminated.
If your class implements also ArrayAccess interface, you could use as valid() body
function valid(){
return $this->offsetExists($this->position);
}