3v4l.org

run code in 300+ PHP versions simultaneously
<?php class DoctorFilter extends FilterIterator { public function accept(): bool { $obj = $this->getInnerIterator()->current(); return is_string($obj) && str_starts_with($obj, 'Dr.'); } } $people = [ 'Dr. Jekyll', 'Mr. Hyde', // This item will be removed 'Dr. Frankenstein', ]; foreach (new DoctorFilter(new ArrayIterator($people)) as $item) { echo $item.PHP_EOL; }
Output for 8.1.23 - 8.1.34, 8.2.6 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
Dr. Jekyll Dr. Frankenstein

preferences:
30.33 ms | 855 KiB | 4 Q