For those entities that are KeyedTraversable, the KeyedIterator interfaces provides the methods of iteration, included being able to get the key

If a class implements KeyedIterator, then it provides the infrastructure to be iterated over using a foreach loop.

Interface Synopsis

namespace HH {
interface KeyedIterator implements HH\Iterator, HH\KeyedTraversable {...}
  • ->key(): Tk
    Return the current key at the current iterator position