Інтерфейс Sequence

(PECL ds >= 1.0.0)

Вступ

Послідовність описує поведінку, у якому значення розподілені у одному, лінійному порядку. У деяких мовах ця поведінка описується як "List". Це схоже на масив, в якому використовуються цілі ключі, за винятком декількох моментів:

  • Значення завжди проіндексовані по порядку[0, 1, 2, …, size - 1]
  • Можна звертатися лише до значень індексованих у діапазоні[0, size - 1]

У яких випадках використовується:

  • Якщо ви хочете використовувати масив як список (не звертаючи уваги на ключі).
  • Більш ефективна альтернатива дляSplDoublyLinkedList і SplFixedArray

Огляд інтерфейсів


    interface Ds\Sequence

    extends
      Ds\Collection,
     ArrayAccess {

    /* Методы */
    
   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


    /* Наследуемые методы */
    public Ds\Collection::clear(): void
public Ds\Collection::copy(): Ds\Collection
public Ds\Collection::isEmpty(): bool
public Ds\Collection::toArray(): array

    public Countable::count(): int

    public IteratorAggregate::getIterator(): Traversable

    public JsonSerializable::jsonSerialize(): mixed

    public ArrayAccess::offsetExists(mixed $offset): bool
public ArrayAccess::offsetGet(mixed $offset): mixed
public ArrayAccess::offsetSet(mixed $offset, mixed $value): void
public ArrayAccess::offsetUnset(mixed $offset): void


   }

список змін

ВерсияОпис
PECL ds 1.3.0Тепер клас реалізує ArrayAccess

Зміст

  • Ds\Sequence::allocate— Виділення пам'яті під зазначену місткість
  • Ds\Sequence::apply— Оновлення всіх значень застосуванням переданої callback-функції до них
  • Ds\Sequence::capacity— Повертає поточну місткість
  • Ds\Sequence::contains— Перевіряє, чи містяться в колекції задані значення
  • Ds\Sequence::filter— Створює нову послідовність елементів, вибраних за допомогою заданої callback-функції
  • Ds\Sequence::find - Пошук індексу за значенням
  • Ds\Sequence::first— Повертає перший елемент колекції
  • Ds\Sequence::get— Повертає значення за індексом
  • Ds\Sequence::insert— Вставляє значення за вказаним індексом
  • Ds\Sequence::join - Склеює всі значення в рядок
  • Ds\Sequence::last— Повертає останнє значення колекції
  • Ds\Sequence::map— Повертає результат застосування callback-функції до всіх значень колекції.
  • Ds\Sequence::merge— Повертає результат додавання всіх заданих значень до колекції
  • Ds\Sequence::pop— Видаляє та повертає останнє значення
  • Ds\Sequence::push— Додає значення до кінця послідовності
  • Ds\Sequence::reduce - Сплескує колекцію до одного значення використовуючи callback-функцію
  • Ds\Sequence::remove— Видаляє та повертає значення за індексом
  • Ds\Sequence::reverse— Перевертає поточну колекцію
  • Ds\Sequence::reversed— Повертає перегорнуту копію колекції
  • Ds\Sequence::rotate— Перемотує послідовність на задану кількість значень
  • Ds\Sequence::set— Замінює значення за вказаним індексом
  • Ds\Sequence::shift— Видаляє та повертає перше значення
  • Ds\Sequence::slice— Повертає під-колекцію із заданого діапазону
  • Ds\Sequence::sort— Сортує колекцію
  • Ds\Sequence::sorted— Повертає копію колекції, відсортовану за значенням.
  • Ds\Sequence::sum— Повертає суму всіх значень колекції
  • Ds\Sequence::unshift— Додає значення на початок послідовності