, (*1)
Purpose
This package was inspired by some of the great array helper functions in Laravel., (*2)
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., (*3)
Installation
Installation can be done easily through composer., (*4)
composer require jdrieghe/array-helpers
Usage
Static approach
You can choose to use only the static helper methods., (*5)
use ArrayHelpers\Arr;
$result = Arr::get($array, $key, $default);
Functional approach
If you prefer a more functional approach, some namespaced convenience methods are available as well:, (*6)
use function ArrayHelpers\array_get;
$result = array_get($array, $key, $default);
Available helpers
Array Get
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., (*7)
$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., (*8)
Array Has
This helper checks if an item exists in an array using dot notation., (*9)
$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., (*10)
Array Set
This helper sets a certain key in an array to a certain value.
Dot notation can be used to create a deeply nested key., (*11)
$data = [];
Arr::set($data, 'foo.bar', 'baz');
$data
now contains:, (*12)
[
'foo' => [
'bar' => 'baz',
],
];
Note that Arr::set()
can be replaced with array_set()
if you prefer a functional approach., (*13)