# The Collection interface

(PECL ds >= 1.0.0)

## Introduction

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().

## Interface synopsis

interface Ds\Collection extends Countable, IteratorAggregate, JsonSerializable {
/* Methods */
public clear(): void
public copy(): Ds\Collection
public isEmpty(): bool
public toArray(): array
/* Inherited methods */
public Countable::count(): int
public IteratorAggregate::getIterator(): Traversable
public JsonSerializable::jsonSerialize(): mixed
}

## Changelog

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

## Table of Contents

- 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

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open