# aimeos/map

**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/aimeos-map).**

4,200 stars · 16 forks · PHP · mit

## Links

- GitHub: https://github.com/aimeos/map
- Homepage: http://php-map.org
- awesome-repositories: https://awesome-repositories.com/repository/aimeos-map.md

## Topics

`array` `collection` `map` `php` `php-arrays` `php-map`

## Description

This PHP data collection library is a functional data wrapper and array manipulation framework. It converts arrays, JSON strings, and iterables into chainable collection objects designed for advanced filtering, sorting, and transformation.

The library is distinguished by its ability to dynamically extend functionality through the registration of custom methods via closures. It also provides specialized capabilities for hierarchical data modeling, allowing flat datasets with parent-child identifiers to be reconstructed into nested tree structures.

The toolkit covers a broad surface of data manipulation, including statistical aggregation, bulk string transformations, and element type casting. It provides utilities for data structure transposition, such as flipping keys and values, as well as mechanisms for exporting collections as plain arrays, JSON strings, or HTTP query strings.

## Tags

### Data & Databases

- [Fluent Collection Pipelines](https://awesome-repositories.com/f/data-databases/array-manipulation-utilities/fluent-collection-pipelines.md) — Provides a fluent, chainable API for filtering, sorting, transforming, and aggregating PHP arrays.
- [Collection Element Transformations](https://awesome-repositories.com/f/data-databases/collection-element-transformations.md) — Applies callbacks to map, reduce, flatten, group, or restructure collections into new forms. ([source](https://cdn.jsdelivr.net/gh/aimeos/map@3.x/README.md))
- [Multi-Source Constructions](https://awesome-repositories.com/f/data-databases/collection-iterators/collection-iteration/collection-constructions/multi-source-constructions.md) — Creates collections from arrays, JSON strings, iterables, or repeated closure calls.
- [Column Value Aggregations](https://awesome-repositories.com/f/data-databases/column-value-extraction/column-value-aggregations.md) — Computes sum, average, min, max, and frequency counts on collection values. ([source](https://cdn.jsdelivr.net/gh/aimeos/map@3.x/README.md))
- [Conditional Data Filters](https://awesome-repositories.com/f/data-databases/conditional-data-filters.md) — Applies callbacks or regular expressions to filter collection elements based on conditions. ([source](https://cdn.jsdelivr.net/gh/aimeos/map@3.x/README.md))
- [Value and Callback Sorters](https://awesome-repositories.com/f/data-databases/custom-key-ordering/value-and-callback-sorters.md) — Orders items by values, keys, or custom callbacks with ascending/descending and key preservation. ([source](http://php-map.org/))
- [Fluent Query APIs](https://awesome-repositories.com/f/data-databases/expression-based-data-querying/fluent-query-apis.md) — Ships a fluent, chainable API for building and transforming data collections through method chaining.
- [Multi-Source Collection Factories](https://awesome-repositories.com/f/data-databases/key-value-pair-managers/map-constructors-from-pairs/multi-source-collection-factories.md) — Creates collections from arrays, JSON strings, iterables, and repeated closure calls. ([source](http://php-map.org/))
- [Statistical Aggregators](https://awesome-repositories.com/f/data-databases/data-analysis-visualization/analytical-platforms-engines/advanced-analytics-functions/statistical-aggregators.md) — Computes summary statistics such as sum, average, min, max, and frequency counts on collection values.
- [Head and Tail Slicers](https://awesome-repositories.com/f/data-databases/range-subset-extractions/head-and-tail-slicers.md) — Provides methods to extract subsets like first, last, and slice from collections. ([source](https://cdn.jsdelivr.net/gh/aimeos/map@3.x/README.md))

### Part of an Awesome List

- [Transposition Utilities](https://awesome-repositories.com/f/awesome-lists/data/data-structures/transposition-utilities.md) — Flips keys and values, flattens nested arrays, or expands key paths into multi-dimensional structures.

### Development Tools & Productivity

- [Collection Content Testers](https://awesome-repositories.com/f/development-tools-productivity/collection-content-testers.md) — Checks if elements exist, match a condition, or are of a specific type such as string, numeric, or object. ([source](https://cdn.jsdelivr.net/gh/aimeos/map@3.x/README.md))
- [Collection Element Accessors](https://awesome-repositories.com/f/development-tools-productivity/collection-element-accessors.md) — Retrieves single or multiple elements using keys, numerical positions, or callbacks, with optional type casting. ([source](https://cdn.jsdelivr.net/gh/aimeos/map@3.x/README.md))
- [Collection Element Inserters](https://awesome-repositories.com/f/development-tools-productivity/collection-element-inserters.md) — Inserts new items at specific positions, appends to the end, or merges collections with or without overwriting existing keys. ([source](https://cdn.jsdelivr.net/gh/aimeos/map@3.x/README.md))
- [Collection Element Removers](https://awesome-repositories.com/f/development-tools-productivity/collection-element-removers.md) — Deletes elements by key, value, or position and optionally returns the removed item. ([source](https://cdn.jsdelivr.net/gh/aimeos/map@3.x/README.md))
- [Collection Factories](https://awesome-repositories.com/f/development-tools-productivity/collection-factories.md) — Builds a new map from an array, JSON string, string split by delimiter, or repeated closure calls. ([source](https://cdn.jsdelivr.net/gh/aimeos/map@3.x/README.md))
- [Collection Serialization](https://awesome-repositories.com/f/development-tools-productivity/string-formatting-utilities/collection-serialization.md) — Converts collections to plain arrays, JSON strings, or HTTP query strings for output.

### Programming Languages & Runtimes

- [PHP Data Collection Libraries](https://awesome-repositories.com/f/programming-languages-runtimes/php-data-collection-libraries.md) — Provides a functional data wrapper for arrays, JSON, and iterables with chainable operations.
- [Array Flattening Utilities](https://awesome-repositories.com/f/programming-languages-runtimes/array-flattening-utilities.md) — Reduces multi-dimensional arrays to a single level or expands key paths into nested structures. ([source](https://cdn.jsdelivr.net/gh/aimeos/map@3.x/README.md))
- [Lazy Evaluation](https://awesome-repositories.com/f/programming-languages-runtimes/deferred-execution/lazy-evaluation.md) — Defers computation until terminal operations are called, enabling efficient chaining of transformations.

### Software Engineering & Architecture

- [Runtime Closure Bindings](https://awesome-repositories.com/f/software-engineering-architecture/architectural-design-patterns/design-patterns/functional-design-patterns/functional-programming/closures/function-to-closure-coercions/runtime-closure-bindings.md) — Provides a mechanism to extend collection objects with user-defined closures as built-in methods.
- [Custom Method Registration](https://awesome-repositories.com/f/software-engineering-architecture/custom-method-registration.md) — Registers user-defined closures as built-in methods on collection objects at runtime.
- [Hierarchical Reconstruction](https://awesome-repositories.com/f/software-engineering-architecture/recursive-tree-transformers/hierarchical-reconstruction.md) — Reconstructs flat parent-child datasets into nested tree structures for hierarchical data.
- [Collection Condition Testers](https://awesome-repositories.com/f/software-engineering-architecture/collection-condition-testers.md) — Provides boolean checks for element existence, type constraints, and pattern matching. ([source](http://php-map.org/))

### User Interface & Experience

- [Element Filtering](https://awesome-repositories.com/f/user-interface-experience/interactive-ui-elements/interactive-element-registries/droppable-zone-definitions/element-filtering.md) — Filters elements by callbacks, regular expressions, key comparisons, or value conditions. ([source](http://php-map.org/))

### Web Development

- [Collection Partitioning & Grouping](https://awesome-repositories.com/f/web-development/api-management-tools/content-static-site-generation/content-collection-managers/collection-manipulation-utilities/collection-partitioning-grouping.md) — Provides chainable methods for splitting collections into chunks and grouping by keys. ([source](https://cdn.jsdelivr.net/gh/aimeos/map@3.x/README.md))
- [Custom Callback Sorters](https://awesome-repositories.com/f/web-development/key-sorting/custom-callback-sorters.md) — Ships a fluent sorting API supporting custom callbacks, key-based, and value-based ordering. ([source](https://cdn.jsdelivr.net/gh/aimeos/map@3.x/README.md))
