lotos / collection
2.0.0
2022-03-04 10:07 UTC
Requires
- php: ^8.0
- php-ds/php-ds: ^1.4.0
This package is auto-updated.
Last update: 2024-09-05 14:16:23 UTC
README
安装
composer require lotos/collection
使用示例
创建集合
$collection = new Collection; $collection->push($item); //mixed $item
$collection = new Collection($item); //mixed $item
警告
如果从集合继承,并且继承者有自动填充方法。在任何情况下都不要在构造函数中调用此方法。这个限制是因为在调用where等过滤方法时,集合会重新创建,因此过滤后创建的新集合会自动填充数据。
大多数类的文档可以在以下页面阅读:https://php.ac.cn/manual/ru/class.ds-sequence.php https://php.ac.cn/manual/ru/class.ds-collection.php
集合的额外方法
/** * возвращает чистую коллекцию **/ $collection->newInstance() /** * возвращает ArrayIterator коллекции **/ $collection->getIterator() : ArrayIterator /** * возвращает количество элементов коллекции **/ $collection->count() : int /** * возвращает коллекцию в json-виде **/ $collection->jsonSerialize() : string /** * первым параметром всегда передается название свойства (ключа), по которому будет производиться поиск. * вторым аргументом можно передавать знаки >, <, =, >=, <=, <>, != * или (внезапное нарушение стандартов, просто так исторически сложилось) * можно передать сразу значение, по которому будет производиться фильтрация * если вторым аргументом передан знак, то третьим передаете значение * */ $collection->where(...$params) : Collection /** * первым аргументом передаем свойство * вторым аргументом передаем массив с двумя числовыми значениями, * вернутся все элементы, у которых значение выбранного свойства между значениями элементов массива **/ $collection->whereBetween(string $property, array $values) : Collection /** * первым аргументом передаем свойство * вторым аргументом передаем массив с возможными значениями, * вернутся все элементы, у которых значение выбранного свойства совпадает со значениями элементов массива **/ $collection->whereIn(string $property, array $values) : Collection /** * первым аргументом передаем свойство * вторым аргументом передаем массив с возможными значениями, * вернутся все элементы, у которых значение выбранного свойства не совпадает со значениями элементов массива **/ $collection->whereNotIn(string $property, array $values) : Collection /** * первым аргументом передаем свойство * вторым аргументом передаем строка с возможным значением, * вернутся все элементы, у которых значение выбранного свойства содержит искомое слово **/ $collection->whereContain(string $param, string $value) : Collection /** * передаем свойство, по которому нужно провести проверку * вернутся все элементы коллекции, * у которых это свойство === NULL **/ $collection->whereNull(string $property) : Collection /** * передаем свойство, по которому нужно провести проверку * вернутся все элементы коллекции, * у которых это свойство !== NULL **/ $collection->whereNotNull(string $property) : Collection