PHPackages                             epfremme/complex-map - 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. epfremme/complex-map

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

epfremme/complex-map
====================

Complex traversable map class

v1.0.0(10y ago)024MITPHPPHP &gt;=5.4

Since Aug 22Pushed 10y ago1 watchersCompare

[ Source](https://github.com/epfremmer/complex-map)[ Packagist](https://packagist.org/packages/epfremme/complex-map)[ RSS](/packages/epfremme-complex-map/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependencies (1)Versions (3)Used By (0)

ComplexMap
==========

[](#complexmap)

Description
===========

[](#description)

Traversable class used to support situations where a standard PHP array needs to be able to map more than just scalar keys to array values and instead use more complex values as the array keys.

For instance a use case for this would be where you need to map an instance of a class (let's say a UserModel) to another value like perhaps a collection of that users Posts. Normally you would be forced to use a unique value like an ID as the array key and as a result have to go and fetch the UserModel by id later on somewhere in your code.

Using this map you would still have access to the User object reference as the Map key. Literally allows you to map anything to anything else for extra flexibility.

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% 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

3922d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/676986caba2c215a2d21d09ec73a55fccbe180f9d9c511fc0d1753f2bfd05461?d=identicon)[epfremmer](/maintainers/epfremmer)

---

Top Contributors

[![epfremmer](https://avatars.githubusercontent.com/u/1810965?v=4)](https://github.com/epfremmer "epfremmer (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/epfremme-complex-map/health.svg)

```
[![Health](https://phpackages.com/badges/epfremme-complex-map/health.svg)](https://phpackages.com/packages/epfremme-complex-map)
```

###  Alternatives

[ralouphie/mimey

PHP package for converting file extensions to MIME types and vice versa.

3285.9M72](/packages/ralouphie-mimey)[chencha/share

Share links with Laravel

182272.6k](/packages/chencha-share)[bocharsky-bw/arrayzy

A native PHP arrays easy manipulation library in OOP way.

38425.4k](/packages/bocharsky-bw-arrayzy)[mvanduijker/laravel-mercure-broadcaster

Mercure broadcaster

16866.5k](/packages/mvanduijker-laravel-mercure-broadcaster)[matomo/network

21897.4k4](/packages/matomo-network)[marc-mabe/php-enum-phpstan

Enum class reflection extension for PHPStan

13817.7k8](/packages/marc-mabe-php-enum-phpstan)

PHPackages © 2026

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