Arrays Component
, (*1)
, (*2)
Installation
With Composer:, (*3)
composer require flextype-components/arrays
Usage
use Flextype\Component\Arrays;
Methods
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. |
Method: 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., (*4)
Arrays::set($array, 'movies.the-thin-red-line.title', 'The Thin Red Line');
Method: 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., (*5)
Arrays::get($array, 'movies.the-thin-red-line.title')
Method: Arrays::delete()
Deletes an array value using "dot notation"., (*6)
Arrays::delete($array, 'movies.the-thin-red-line');
Method: Arrays::has()
Checks if the given dot-notated key exists in the array., (*7)
if (Arrays::has($array, 'movies.the-thin-red-line')) {
// Do something...
}
Method: Arrays::dot()
Flatten a multi-dimensional associative array with dots., (*8)
$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);
Method: Arrays::undot()
Expands a dot notation array into a full multi-dimensional array., (*9)
$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);
License
The MIT License (MIT)
Copyright (c) 2020 Sergey Romanenko, (*10)