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.33, 8.2.6 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
Dr. Jekyll Dr. Frankenstein

preferences:
71.43 ms | 406 KiB | 5 Q