PHPackages                             timdev/php-array-utils - 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. timdev/php-array-utils

ActiveLibrary

timdev/php-array-utils
======================

Handy php array utilities.

0.1.1(10y ago)034MITPHP

Since Feb 4Pushed 10y ago1 watchersCompare

[ Source](https://github.com/timdev/php-array-utils)[ Packagist](https://packagist.org/packages/timdev/php-array-utils)[ RSS](/packages/timdev-php-array-utils/feed)WikiDiscussions master Synced 2mo ago

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

timdev/php-array-utils
======================

[](#timdevphp-array-utils)

Everybody who writes a bunch of PHP eventually writes functions to do some common array manipulation tasks.

This is where I'm going to stick all mine. You're welcome to use them, too.

The utilities are implemented as static methods on a class.

As of today, there's only one function:

ArrayUtils::val(array $array, $keys, $default = null)
-----------------------------------------------------

[](#arrayutilsvalarray-array-keys-default--null)

Digs a value out of an array, or else returns a default value.

```
use TimDev\ArrayUtils as A;

$array = ['foo' => ['bar' => 'baz']];

// $baz == 'baz'
$baz = A::val($array, ['foo', 'bar']);

// $nope == null
$nope = A::val($array, ['foo', 'bork']);

// $nope == 'squee'
$nope = A::val($array, ['i-do-not-exist'], 'squee');

// if you're just dereferencing by one level, you can pass int/string as second arg:
// $foo == ['bar' => 'baz']
$foo = A::val($array, 'foo');
```

###  Health Score

24

—

LowBetter than 32% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity54

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

Every ~0 days

Total

2

Last Release

3755d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/4eb475c7f4d3d1df5053f83417bf4e756a35b59d1686cd7d379055da2828017f?d=identicon)[timdev](/maintainers/timdev)

---

Top Contributors

[![timdev](https://avatars.githubusercontent.com/u/513999?v=4)](https://github.com/timdev "timdev (5 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/timdev-php-array-utils/health.svg)

```
[![Health](https://phpackages.com/badges/timdev-php-array-utils/health.svg)](https://phpackages.com/packages/timdev-php-array-utils)
```

PHPackages © 2026

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