Інтерфейс 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— Додає значення на початок послідовності