Overview
KB
Technical FAQ
PHP Manual
CSS2 Manual
HTML Manual
JS Guide
JS Reference
PhpDock Manual
Nu-Coder Manual
PhpExpress Manual
PHP Joomla
Development
Learn PHP
 
<Predefined Interfaces and ClassesIterator>
^Predefined Interfaces and ClassesLast updated: Mon, 26 Oct 2026

The Traversable interface

(PHP 5, PHP 7, PHP 8)

Introduction

Interface to detect if a class is traversable using foreach.

Abstract base interface that cannot be implemented alone. Instead, it must be implemented by either IteratorAggregate or Iterator.

Interface synopsis

interface Traversable {
}

This interface has no methods; its only purpose is to be the base interface for all traversable classes.

Changelog

Version Description
8.0.0 The Traversable interface can now be implemented by abstract classes. Extending classes must implement Iterator or IteratorAggregate.

Notes

Note:

Internal (built-in) classes that implement this interface can be used in a foreach construct and do not need to implement IteratorAggregate or Iterator.

Note:

Prior to PHP 8.0.0, this internal engine interface couldn't be directly implemented in PHP scripts — not even by abstract classes. Either IteratorAggregate or Iterator must be used instead.


<Predefined Interfaces and ClassesIterator>
^Predefined Interfaces and ClassesLast updated: Mon, 26 Oct 2026