International PHP Conference Berlin 2025

L'interface Sequence

(PECL ds >= 1.0.0)

Introduction

Une Sequence décrit le comportement des valeurs disposées dans une seule dimension linéaire. Certains langages se réfèrent à cela comme une "Liste". C'est similaire à un tableau qui utilise des clés entières incrémentales, à l'exception de quelques caractéristiques :

  • Les valeurs seront toujours indexées comme [0, 1, 2, …, size - 1].
  • Seuls les valeurs par index dans la plage [0, size - 1] sont autorisées.

Cas d'utilisation :

Sommaire de l'Interface

interface Ds\Sequence extends Ds\Collection, ArrayAccess {
/* Méthodes */
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
/* Méthodes héritées */
public ArrayAccess::offsetSet(mixed $offset, mixed $value): void
}

Historique

Version Description
PECL ds 1.3.0 Cette interface étend maintenant ArrayAccess.

Sommaire

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top