A collection of convenience methods to deal with arrays in php.
MIT License
This package was inspired by some of the great array helper functions in Laravel.
Having to include all of Illuminate\Support
is sometimes a bit too much for a given project, so I decided to build
a separate package to provide some much needed framework independent array magic.
Installation can be done easily through composer.
composer require jdrieghe/array-helpers
You can choose to use only the static helper methods.
use ArrayHelpers\Arr;
$result = Arr::get($array, $key, $default);
If you prefer a more functional approach, some namespaced convenience methods are available as well:
use function ArrayHelpers\array_get;
$result = array_get($array, $key, $default);
This helper allows you to get an item from an array using dot notation. If the item is not found, it will return a given default or null.
$data = [
'foo' => [
'bar' => 'baz',
],
];
Arr::get($data, 'foo');
// returns: ['bar' => 'baz'];
Arr::get($data, 'foo.bar');
// returns: 'baz';
Arr::get($data, 'xyz', 'default');
// returns: 'default';
Note that Arr::get()
can be replaced with array_get()
if you prefer a functional approach.
This helper checks if an item exists in an array using dot notation.
$data = [
'foo' => [
'bar' => 'baz',
],
];
Arr::has($data, 'foo');
// returns: true;
Arr::has($data, 'foo.bar');
// returns: true;
Arr::has($data, 'xyz');
// returns: false;
Note that Arr::has()
can be replaced with array_has()
if you prefer a functional approach.
This helper sets a certain key in an array to a certain value. Dot notation can be used to create a deeply nested key.
$data = [];
Arr::set($data, 'foo.bar', 'baz');
$data
now contains:
[
'foo' => [
'bar' => 'baz',
],
];
Note that Arr::set()
can be replaced with array_set()
if you prefer a functional approach.