The Sequence interface

(PECL ds >= 1.0.0)

Introduction

A Sequence describes the behaviour of values arranged in a single, linear dimension. Some languages refer to this as a "List". It’s similar to an array that uses incremental integer keys, with the exception of a few characteristics:

  • Values will always be indexed as [0, 1, 2, ..., size - 1].
  • Only allowed to access values by index in the range [0, size - 1].

Use cases:

Interface synopsis

interface Ds\Sequence extends Ds\Collection, ArrayAccess {
/* Methods */
abstract public allocate (int $capacity): void
abstract public apply (callable $callback): void
abstract public capacity (): int
abstract public contains (mixed ...$values): bool
abstract public filter (callable $callback = ?): Ds\Sequence
abstract public find (mixed $value): mixed
abstract public first (): mixed
abstract public get (int $index): mixed
abstract public insert (int $index, mixed ...$values): void
abstract public join (string $glue = ?): string
abstract public last (): mixed
abstract public map (callable $callback): Ds\Sequence
abstract public merge (mixed $values): Ds\Sequence
abstract public pop (): mixed
abstract public push (mixed ...$values): void
abstract public reduce (callable $callback, mixed $initial = ?): mixed
abstract public remove (int $index): mixed
abstract public reverse (): void
abstract public reversed (): Ds\Sequence
abstract public rotate (int $rotations): void
abstract public set (int $index, mixed $value): void
abstract public shift (): mixed
abstract public slice (int $index, int $length = ?): Ds\Sequence
abstract public sort (callable $comparator = ?): void
abstract public sorted (callable $comparator = ?): Ds\Sequence
abstract public sum (): int |float
abstract public unshift (mixed $values = ?): void
/* Inherited methods */
public Countable::count (): int
public ArrayAccess::offsetSet (mixed $offset, mixed $value): void
}

Changelog

Version Description
PECL ds 1.3.0 The interface now extends ArrayAccess .

Table of Contents

Found A Problem?

Learn How To Improve This PageSubmit a Pull RequestReport a Bug
+add a note

User Contributed Notes

There are no user contributed notes for this page.

AltStyle によって変換されたページ (->オリジナル) /