PHPackages                             jimphle/data-structure - 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. jimphle/data-structure

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

jimphle/data-structure
======================

Jimdo PHP library extraction of data-structure component

v0.5.0(8y ago)0419[1 issues](https://github.com/Jimdo/jimphle-data-structure/issues)1MITPHPPHP &gt;=5.6.0

Since Feb 16Pushed 4y ago116 watchersCompare

[ Source](https://github.com/Jimdo/jimphle-data-structure)[ Packagist](https://packagist.org/packages/jimphle/data-structure)[ Docs](https://github.com/Jimdo/jimphle-data-structure)[ RSS](/packages/jimphle-data-structure/feed)WikiDiscussions master Synced 2mo ago

READMEChangelog (1)Dependencies (1)Versions (6)Used By (1)

Jimphle-data-structure
======================

[](#jimphle-data-structure)

Jimdo PHP library extraction of data-structure component.

This comes with a Map and a Vector and a Null implementation of the BaseInterface. Facts:

- Immutable
- Throws InvalidPropertyException on none-existing keys
- Is able convert complete trees of different data structures to json
- Is sometimes not very efficient. For example the fromArray method uses the Vector::isSequentialList check which copies the complete array in memory

A Vector is a representation of an array with sequential numeric indexes:

```
$vector = new \Jimphle\DataStructure\Vector(
    array(
        'foo',
        'bar'
    )
);

echo $vector[1];
```

A Map is a representation of an array with key and value:

```
$map = new \Jimphle\DataStructure\Map(
    array(
        'foo' => 'bar'
    )
);
echo $map->foo;

$map = new \Jimphle\DataStructure\Map(
    array(
        'foo-1' => 'bar'
    )
);
echo $map['foo-1'];
```

Convert an object tree to json:

```
$map = new \Jimphle\DataStructure\Map(
    array(
        'who?' => new \Jimphle\DataStructure\Vector(
            array(
                new Jimphle\DataStructure\Map(
                    array(
                        'foo' => 'bar'
                    )
                )
            )
        )
    )
);
echo $map->toJson();
```

###  Health Score

27

—

LowBetter than 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity12

Limited adoption so far

Community21

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

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

Every ~320 days

Total

5

Last Release

3181d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4967f42f1b5fc14752d411300fc634ffee7aa79da30abcafe8750d4f755a3295?d=identicon)[schnipseljagd](/maintainers/schnipseljagd)

---

Top Contributors

[![schnipseljagd](https://avatars.githubusercontent.com/u/289073?v=4)](https://github.com/schnipseljagd "schnipseljagd (10 commits)")[![MorrisJobke](https://avatars.githubusercontent.com/u/245432?v=4)](https://github.com/MorrisJobke "MorrisJobke (5 commits)")[![bracki](https://avatars.githubusercontent.com/u/49786?v=4)](https://github.com/bracki "bracki (1 commits)")[![Partyschaum](https://avatars.githubusercontent.com/u/626843?v=4)](https://github.com/Partyschaum "Partyschaum (1 commits)")

---

Tags

owner-team-creatorvectormapdata structure

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/jimphle-data-structure/health.svg)

```
[![Health](https://phpackages.com/badges/jimphle-data-structure/health.svg)](https://phpackages.com/packages/jimphle-data-structure)
```

###  Alternatives

[markbaker/matrix

PHP Class for working with matrices

1.5k279.7M38](/packages/markbaker-matrix)[phpcollection/phpcollection

General-Purpose Collection Library for PHP

1.0k64.0M34](/packages/phpcollection-phpcollection)[dasprid/enum

PHP 7.1 enum implementation

379146.0M11](/packages/dasprid-enum)[marc-mabe/php-enum

Simple and fast implementation of enumerations with native PHP

49444.8M97](/packages/marc-mabe-php-enum)[aimeos/map

Easy and elegant handling of PHP arrays as array-like collection objects similar to jQuery and Laravel Collections

4.2k412.9k11](/packages/aimeos-map)[spatie/geocoder

Geocoding addresses to coordinates

8404.8M15](/packages/spatie-geocoder)

PHPackages © 2026

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