# The Collection interface

(PECL ds >= 1.0.0)

## Introducción

Collection is the base interface which covers functionality common to all the data structures in this library. It guarantees that all structures are traversable, countable, and can be converted to json using json_encode().

## Sinopsis de la Interfaz

interface Ds\Collection extends Countable, IteratorAggregate, JsonSerializable {
/* Métodos */
public clear(): void
public copy(): Ds\Collection
public isEmpty(): bool
public toArray(): array
/* Métodos heredados */
public Countable::count(): int
public IteratorAggregate::getIterator(): Traversable
abstract public JsonSerializable::jsonSerialize(): mixed
}

## Historial de cambios

Versión | Descripción
--- | ---
PECL ds 1.4.0 | Collection implements IteratorAggregate now instead of just Traversable. (This change came to the polyfill in 1.4.1.)

## Tabla de contenidos

- Ds\Collection::clear — Removes all values
- Ds\Collection::copy — Returns a shallow copy of the collection
- Ds\Collection::isEmpty — Returns whether the collection is empty
- Ds\Collection::toArray — Converts the collection to an array