Download the PHP package fi1a/collection without Composer
On this page you can find all versions of the php package fi1a/collection. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download fi1a/collection
More information about fi1a/collection
Files in fi1a/collection
Package collection
Short Description Структуры данных и коллекции в PHP
License MIT
Homepage https://github.com/fi1a/collection
Informations about the package collection
Структуры данных и коллекции в PHP
Пакет fi1a/collection предоставляет классы структур данных и коллекций.
Установка
Установить этот пакет можно как зависимость, используя Composer.
Использование
Типы данных
Объект Fi1a\Collection\DataType\ArrayObject, работающий также как и массив
Реализует интерфейс Fi1a\Collection\DataType\ValueObjectInterface.
Объект Fi1a\Collection\DataType\MapArrayObject, работающий также как и массив
Реализует интерфейс Fi1a\Collection\DataType\MapArrayObjectInterface с методами расширяющими использование массивов.
Доступные методы:
| Метод | Описание |
|---|---|
| isEmpty(): bool | Определяет пустой массив или нет |
| first() | Возвращает первый элемент |
| last() | Возвращает последний элемент |
| clear() | Очистить массив значений |
| hasValue($value): bool | Проверяет, присутствует ли в массиве указанное значение |
| keys() | Возвращает ключи массива |
| has($key) | Есть ли элемент с таким ключем |
| get($key, $default = null) | Возвращает элемент по ключу |
| set($key, $value) | Устанавливает значение по ключу |
| delete($key) | Удаляет элемент по ключу, возвращает удаленное значение |
| deleteIf($key, $value): bool | Удаляет элемент по ключу, если значение равно переданному. Если элемент удален, возвращает true. |
| put($key, $value) | Устанавливает значение по ключу, если значение уже есть в массиве, возвращает его |
| putIfAbsent($key, $value) | Устанавливает значение по ключу, если его нет. Возвращает предыдущее значение |
| replace($key, $value) | Заменяет значение элемента по ключу, только если есть значение. Возвращает предыдущее значение |
| replaceIf($key, $oldValue, $newValue): bool | Заменяет значение элемента по ключу, только если текущее значение равно $oldValue. Если элемент заменен, возвращает true. |
| add($value) | Добавить в коллекцию значение |
| each(callable $callback) | Вызывает функцию, передавая ключ и значение из коллекции |
| map(callable $callback) | Вызывает функцию, передавая ключ и значение из коллекции и заменяет элемент результатом |
| column(string $name): array | Возвращает значения переданного ключа, свойства или метода |
| sort(string $name, string $order = self::SORT_ASC) | Сортировка элементов коллекции по значениям переданного ключа, свойства или метода |
| filter(callable $callback) | Возвращает отфильтрованную коллекцию |
| where(string $name, $value) | Возвразает коллекцию с элементами у которых значение ключа, свойства или метода равно переданному значению |
| diff($collection) | Возвращает новую коллекцию с расходящимися элементами текущей коллекции с переданной |
| intersect($collection) | Возвращает новую коллекцию с пересечением элементов текущей коллекции с переданной |
| merge($collection) | Объединяет элементы текущей коллекции с элементами переданной и возвращает новую коллекцию |
| resetKeys() | Сбросить ключи коллекции |
| reduce(callable $callback, $initial = null) | Итеративно уменьшает коллекцию к единственному значению, используя callback-функцию |
| reduceRight(callable $callback, $initial = null) | Итеративно уменьшает коллекцию к единственному значению в обратном порядке, используя callback-функцию |
| wraps(string $prefix, ?string $suffix = null) | Оборачивает значения и возвращает новую коллекцию |
| join(string $separator): string | Объединяет элементы в строку |
| insert(int $index, array $values) | Вставить значения |
| firstKey() | Возвращает ключ первого элемента |
| lastKey() | Возвращает ключ последнего элемента |
| toggleValue($key, $firstValue, $secondValue) | Переключает значения |
| every(callable $condition): bool | Возвращает true, если все элементы удовлетворяют условию |
| without(callable $condition) | Возвращает коллекцию без элементов удовлетворяющих условию |
| with(callable $condition) | Возвращает коллекцию с элементами удовлетворяющими условию |
| drop(int $count) | Возвращает коллекцию, опуская заданное количество элементов с начала |
| dropRight(int $count) | Возвращает коллекцию, опуская заданное количество элементов с конца |
| findValue(callable $condition) | Возвращает первый элемент, который удовлетворяет условию $condition, возвращает false, если такого элемента не существует |
| findLastValue(callable $condition) | Возвращает последний элемент, который удовлетворяет условию $condition, возвращает false, если такого элемента не существует |
| findKey(callable $condition) | Возвращает первый ключ элемента, который удовлетворяет условию $condition, возвращает false, если такого элемента не существует |
| findLastKey(callable $condition) | Возвращает последний ключ элемента, который удовлетворяет условию $condition, возвращает false, если такого элемента не существует |
| mapAndColumn($map, $column = null) | Возвращает новый массив с переданным ключем и колонкой |
Fi1a\Collection\DataType\PathAccess класс реализует доступ по пути к значениям
Реализует интерфейс Fi1a\Collection\DataType\PathAccessInterface. Данный класс позволяет получать доступ к ключам массива по пути (foo:bar:baz).
Объект-значение Fi1a\Collection\DataType\ValueObject с методами set/get
Реализует интерфейс Fi1a\Collection\DataType\ValueObjectInterface. Предоставляет возможность задать set/get методы для значений и работает также как и массив.
Хелперы
Хелпер Fi1a\Collection\Helpers\ArrayHelper
Содержит вспомогательные методы для работы с массивом.
| Метод | Описание |
|---|---|
| isEmpty(array $array): bool | Определяет пустой массив или нет |
| first(array $array) | Возвращает первый элемент |
| last(array $array) | Возвращает последний элемент |
| hasValue(array $array, $value, bool $strict = true): bool | Проверяет, присутствует ли в массиве указанное значение |
| keys(array $array): array | Возвращает ключи массива |
| has(array $array, $key): bool | Есть ли элемент с таким ключем |
| get(array $array, $key, $default = null) | Возвращает элемент по ключу |
| set(array $array, $key, $value): array | Устанавливает значение по ключу |
| delete(array &$array, $key) | Удаляет элемент по ключу, возвращает удаленное значение |
| deleteIf(array &$array, $key, $value): bool | Удаляет элемент по ключу, если значение равно переданному. Если элемент удален, возвращает true. |
| put(array &$array, $key, $value) | Устанавливает значение по ключу, если значение уже есть в массиве, возвращает его |
| putIfAbsent(array &$array, $key, $value) | Устанавливает значение по ключу, если его нет. Возвращает предыдущее значение |
| replace(array &$array, $key, $value) | Заменяет значение элемента по ключу, только если есть значение. Возвращает предыдущее значение |
| replaceIf(array &$array, $key, $oldValue, $newValue): bool | Заменяет значение элемента по ключу, только если текущее значение равно $oldValue. Если элемент заменен, возвращает true. |
| each(array $array, callable $callback): void | Вызывает функцию, передавая ключ и значение из коллекции |
| map(array $array, callable $callback): array | Вызывает функцию, передавая ключ и значение из коллекции и заменяет элемент результатом |
| column(array $array, string $name): array | Возвращает значения переданного ключа, свойства или метода |
| sort(array $array, string $name, string $order = self::SORT_ASC): array | Сортировка элементов коллекции по значениям переданного ключа, свойства или метода |
| filter(array $array, callable $callback): array | Возвращает отфильтрованную коллекцию |
| where(array $array, string $name, $value): array | Возвразает коллекцию с элементами у которых значение ключа, свойства или метода равно переданному значению |
| diff(array $array, array $collection): array | Возвращает новую коллекцию с расходящимися элементами текущей коллекции с переданной |
| intersect(array $array, array $collection): array | Возвращает новую коллекцию с пересечением элементов текущей коллекции с переданной |
| resetKeys(array $array): array | Сбросить ключи |
| reduce(array $array, callable $callback, $initial = null) | Итеративно уменьшает коллекцию к единственному значению, используя callback-функцию |
| reduceRight(array $array, callable $callback, $initial = null) | Итеративно уменьшает коллекцию к единственному значению в обратном порядке, используя callback-функцию |
| wraps(array $array, string $prefix, ?string $suffix = null): array | Оборачивает значения |
| join(array $array, string $separator): string | Объединяет элементы в строку |
| insert(array $array, int $index, array $values): array | Вставить значения |
| firstKey(array $array) | Возвращает ключ первого элемента |
| lastKey(array $array) | Возвращает ключ последнего элемента |
| toggleValue(array $array, $key, $firstValue, $secondValue): array | Переключает значения |
| every(array $array, callable $condition): bool | Возвращает true, если все элементы удовлетворяют условию |
| without(array $array, callable $condition): array | Возвращает массив без элементов удовлетворяющих условию |
| with(array $array, callable $condition): array | Возвращает массив с элементами удовлетворяющими условию |
| drop(array $array, int $count): array | Возвращает массив, опуская заданное количество элементов с начала |
| dropRight(array $array, int $count): array | Возвращает массив, опуская заданное количество элементов с конца |
| findValue(array $array, callable $condition) | Возвращает первый элемент, который удовлетворяет условию $condition, возвращает false, если такого элемента не существует |
| findLastValue(array $array, callable $condition) | Возвращает последний элемент, который удовлетворяет условию $condition, возвращает false, если такого элемента не существует |
| findKey(array $array, callable $condition) | Возвращает первый ключ элемента, который удовлетворяет условию $condition, возвращает false, если такого элемента не существует |
| findLastKey(array $array, callable $condition) | Возвращает последний ключ элемента, который удовлетворяет условию $condition, возвращает false, если такого элемента не существует |
| mapAndColumn(array $array, $map, $column = null): array | Возвращает новый массив с переданным ключем и колонкой |
Коллекции
Коллекция значений Fi1a\Collection\Collection
Реализует интерфейс Fi1a\Collection\CollectionInterface.
Возможные типы значений:
- mixed
- array
- boolean, bool
- callable
- int, integer
- float, double
- numeric
- string
- resource
- scalar
- object
- название класса
Коллекции экземпляров классов
Реализует интерфейс Fi1a\Collection\InstanceCollectionInterface.
Коллекция экземпляров классов Fi1a\Collection\DataType\ArrayObject
Частная реализация коллекции Fi1a\Collection\AbstractInstanceCollection для классов Fi1a\Collection\DataType\ArrayObject.
Коллекция экземпляров классов Fi1a\Collection\DataType\MapArrayObject
Частная реализация коллекции Fi1a\Collection\AbstractInstanceCollection для классов Fi1a\Collection\DataType\MapArrayObject.
Коллекция экземпляров классов Fi1a\Collection\DataType\PathAccess
Частная реализация коллекции Fi1a\Collection\AbstractInstanceCollection для классов Fi1a\Collection\DataType\PathAccess.
Очередь Fi1a\Collection\Queue
Коллекция реализующая двунаправленную очередь упорядоченных элементов.
Очередь с типизацией значений Fi1a\Collection\TypedValueQueue
Коллекция реализующая двунаправленную очередь упорядоченных элементов с проверкой типов значений.
Возможные типы значений:
- mixed
- array
- boolean, bool
- callable
- int, integer
- float, double
- numeric
- string
- resource
- scalar
- object
- название класса
Пример, в качестве типа boolean:
Пример, в качестве типа класс:
All versions of collection with dependencies
ext-mbstring Version *
ext-json Version *