PHPackages                             lotos/collection - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. lotos/collection

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

lotos/collection
================

2.0.0(4y ago)01643GPL-3.0PHPPHP ^8.0

Since Mar 4Pushed 4y ago1 watchersCompare

[ Source](https://github.com/LotosFramework/collection)[ Packagist](https://packagist.org/packages/lotos/collection)[ RSS](/packages/lotos-collection/feed)WikiDiscussions master Synced 4d ago

READMEChangelog (1)Dependencies (1)Versions (2)Used By (3)

Collection
==========

[](#collection)

Установка
---------

[](#установка)

```
composer require lotos/collection
```

Примеры использования
---------------------

[](#примеры-использования)

### Создание коллекции

[](#создание-коллекции)

```
$collection = new Collection;
$collection->push($item); //mixed $item
```

```
$collection = new Collection($item); //mixed $item
```

#### Предупреждение

[](#предупреждение)

В случае если вы наследуетесь от коллекции, и у наследника есть метод автоматического заполнения. Ни в коем случае нельзя вызывать этот метод в конструкторе. Это ограничение связано с тем, что при вызове фильтрующих методов типа where и его аналогов, коллекция пересоздается заново, следовательно после выполнения фильтрации, созданная вновь коллекция будет автоматически заполнена данными.

Документацию по большинству методов класса можно прочитать на страницах

### Дополнительные методы коллекции

[](#дополнительные-методы-коллекции)

```
/**
 * возвращает чистую коллекцию
 **/
$collection->newInstance()

/**
 * возвращает ArrayIterator коллекции
 **/
$collection->getIterator() : ArrayIterator

/**
 * возвращает количество элементов коллекции
 **/
$collection->count() : int

/**
 * возвращает коллекцию в json-виде
 **/
$collection->jsonSerialize() : string

/**
 * первым параметром всегда передается название свойства (ключа), по которому будет производиться поиск.
 * вторым аргументом можно передавать знаки >, =, 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
```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity11

Limited adoption so far

Community14

Small or concentrated contributor base

Maturity54

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 71.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

1534d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/bc7eff50a38e6266618583785549de12334d2601fd930678e0bae685960a134b?d=identicon)[McLotos](/maintainers/McLotos)

---

Top Contributors

[![McLotos](https://avatars.githubusercontent.com/u/8168531?v=4)](https://github.com/McLotos "McLotos (10 commits)")[![phpteach](https://avatars.githubusercontent.com/u/74470056?v=4)](https://github.com/phpteach "phpteach (4 commits)")

### Embed Badge

![Health badge](/badges/lotos-collection/health.svg)

```
[![Health](https://phpackages.com/badges/lotos-collection/health.svg)](https://phpackages.com/packages/lotos-collection)
```

###  Alternatives

[malios/php-to-ascii-table

A PHP library to generate plain text tables.

30118.8k1](/packages/malios-php-to-ascii-table)[samsara/fermat

A library providing math and statistics operations for numbers of arbitrary size.

653.1k3](/packages/samsara-fermat)[shrink0r/workflux

Finite state machine for php.

375.6k1](/packages/shrink0r-workflux)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
