# doctrine/collections

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/doctrine-collections).**

5,979 stars · 183 forks · PHP · MIT

## Links

- GitHub: https://github.com/doctrine/collections
- Homepage: https://www.doctrine-project.org/projects/collections.html
- awesome-repositories: https://awesome-repositories.com/repository/doctrine-collections.md

## Description

Doctrine Collections is a PHP library that provides object-oriented abstractions for managing and manipulating groups of objects with array-like functionality. It wraps native PHP arrays in an object-oriented interface, enabling cleaner data manipulation through methods for filtering, mapping, and iteration.

The library supports callback-driven transformation, applying a callback to every element and returning a new collection with the transformed values. It also enables criteria expression querying, allowing selection of matching elements by applying a criteria object with comparison expressions instead of manual loops. Internal and external iteration is supported, walking through elements using an internal iterator or external iterators via foreach or getIterator.

The library covers collection filtering, transformation, iteration, and querying with expressions, providing a set of abstractions and implementations for managing groups of objects.

## Tags

### Data & Databases

- [Collection Element Transformations](https://awesome-repositories.com/f/data-databases/collection-element-transformations.md) — Transforms every element in a collection by applying a callback and returns the new values. ([source](https://cdn.jsdelivr.net/gh/doctrine/collections@3.1.x/README.md))
- [Collection Filtering](https://awesome-repositories.com/f/data-databases/collection-filtering.md) — Filters collections by applying a test to each element and keeping only those that pass. ([source](https://www.doctrine-project.org/projects/doctrine-collections/en/latest/index.html))
- [Collection Iteration](https://awesome-repositories.com/f/data-databases/collection-iterators/collection-iteration.md) — Walks through elements using internal or external iterators via foreach or getIterator. ([source](https://www.doctrine-project.org/projects/doctrine-collections/en/latest/index.html))
- [Collection Manipulators](https://awesome-repositories.com/f/data-databases/data-manipulation-libraries/collection-manipulators.md) — Works with arrays and lists through an object-oriented interface for cleaner data manipulation. ([source](https://cdn.jsdelivr.net/gh/doctrine/collections@3.1.x/README.md))
- [Criteria-Based Queries](https://awesome-repositories.com/f/data-databases/query-expression-builders/expressive-local-query-builders/criteria-based-queries.md) — Enables querying collections using criteria objects with comparison expressions for element selection.
- [Array Wrappers](https://awesome-repositories.com/f/data-databases/query-languages/object-oriented/array-wrappers.md) — Wraps native PHP arrays in an object-oriented interface for cleaner data manipulation.
- [Array-Backed Collections](https://awesome-repositories.com/f/data-databases/tensor-to-array-conversions/array-backed-collections.md) — Provides an object-oriented interface wrapping native PHP arrays for cleaner data manipulation.
- [PHP Collection Abstractions](https://awesome-repositories.com/f/data-databases/typed-data-collections/data-directory-collections/structured-data-collection-managers/unified-collection-abstractions/php-collection-abstractions.md) — Provides object-oriented abstractions for managing PHP arrays with filtering, mapping, and iteration methods.

### Programming Languages & Runtimes

- [Object Collection Management](https://awesome-repositories.com/f/programming-languages-runtimes/collection-data-structures/object-collection-management.md) — Provides abstractions and implementations for managing groups of objects with array-like functionality.

### Software Engineering & Architecture

- [Collection Transformations](https://awesome-repositories.com/f/software-engineering-architecture/code-transformation-tools/callback-driven-replacements/collection-transformations.md) — Ships a callback-driven map operation that transforms every element in a collection.

### User Interface & Experience

- [List Iteration](https://awesome-repositories.com/f/user-interface-experience/data-iterators/prompt-list-iteration/list-iteration.md) — Supports both internal and external iteration over collections using foreach and getIterator.
