- Nested arrays
- Arrays of objects
- Associative arrays
- Chaining array transformations
Advanced implementation of well known operations:
composer require minwork/array
- Thoroughly tested
- Well documented
- Leverages PHP 7 syntax and speed
- No external dependencies
- Large variety of usages
// Set nested array value
$array = Arr::set([], 'key1.key2.key3', 'my_value');
// Which is equivalent to
[
'key1' => [
'key2' => [
'key3' => 'my_value'
]
]
]
// Get nested array value
Arr::get($array, 'key1.key2') -> ['key3' => 'my_value']
// Check if array has nested element
Arr::has($array, 'key1.key2.key3') -> true
// Map array while accessing it's key
Arr::map($array, function ($key, $value) {
// Your code here
});
// Find array element
Arr::find($array, function ($element) {
return Arr::get($element, 'key2.key3') === 'my_value';
}) -> [ 'key2' => [ 'key3' => 'my_value'] ]
// Chain few methods
Arr::obj(['test' => 1, 'foo' => 'bar'])
->set('abc', 123)
->set('[]', 'auto_index')
->remove('foo')
->getArray()
->
[
'test' => 1,
'abc' => 123,
'auto_index'
]
// Group objects by the result of calling method 'getSize' on each object
Arr::groupObjects([$cat, $dog, $fish, ...], 'getSize') ->
[
'medium' => [$cat, $dog, ...],
'small' => [$fish, ...],
...
]