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 *