KeyedTraversable
This is a point-in-time snapshot of the API documentation from January 2026. Going forward, we will not be maintaining a public copy of these references, and recommend users to refer to the built-in signature helpers available in the Hack LSP instead for complete and up-to-date information.
Represents an entity that can be iterated over using foreach, allowing
a key
The iteration variables will have a type of Tk for the key and Tv for the
value.
In addition to Hack collections, PHP arrays and anything that implement
KeyedIterator are KeyedTraversable.
In general, if you are implementing your own Hack class, you will want to
implement KeyedIterable instead of KeyedTraversable since
KeyedTraversable is more of a bridge for PHP arrays to work well with
Hack collections.
Guides
Interface Synopsis
namespace HH;
interface KeyedTraversable implements Traversable<Tv> {...}