With Composer:
composer require flextype-components/arrays
use Flextype\Component\Arrays;
Method | Description |
---|---|
Arrays::set() |
Set an array item to a given value using "dot" notation. If no key is given to the method, the entire array will be replaced. |
Arrays::get() |
Returns value from array using "dot notation". If the key does not exist in the array, the default value will be returned instead. |
Arrays::delete() |
Deletes an array value using "dot notation". |
Arrays::has() |
Checks if the given dot-notated key exists in the array. |
Arrays::dot() |
Flatten a multi-dimensional associative array with dots. |
Arrays::undot() |
Expands a dot notation array into a full multi-dimensional array. |
Set an array item to a given value using "dot" notation. If no key is given to the method, the entire array will be replaced.
Arrays::set($array, 'movies.the-thin-red-line.title', 'The Thin Red Line');
Returns value from array using "dot notation". If the key does not exist in the array, the default value will be returned instead.
Arrays::get($array, 'movies.the-thin-red-line.title')
Deletes an array value using "dot notation".
Arrays::delete($array, 'movies.the-thin-red-line');
Checks if the given dot-notated key exists in the array.
if (Arrays::has($array, 'movies.the-thin-red-line')) {
// Do something...
}
Flatten a multi-dimensional associative array with dots.
$array = [
'movies' => [
'the_thin_red_line' => [
'title' => 'The Thin Red Line',
'directed_by' => 'Terrence Malick',
'produced_by' => 'Robert Michael, Geisler Grant Hill, John Roberdeau',
'decription' => 'Adaptation of James Jones autobiographical 1962 novel, focusing on the conflict at Guadalcanal during the second World War.',
],
],
];
$newArray = Arrays::dot($array);
Expands a dot notation array into a full multi-dimensional array.
$array = [
'movies.the_thin_red_line.title' => 'The Thin Red Line',
'movies.the_thin_red_line.directed_by' => 'Terrence Malick',
'movies.the_thin_red_line.produced_by' => 'Robert Michael, Geisler Grant Hill, John Roberdeau',
'movies.the_thin_red_line.decription' => 'Adaptation of James Jones autobiographical 1962 novel, focusing on the conflict at Guadalcanal during the second World War.',
];
$newArray = Arrays::undot($array);
The MIT License (MIT) Copyright (c) 2020 Sergey Romanenko