PHP multi array access
Add a dependency to your project's composer.json file if you use Composer to manage the dependencies of your project:
{
"require": {
"petrgrishin/array-access": "~2.0"
}
}
use \PetrGrishin\ArrayAccess\ArrayAccess;
$arrayParams = array(
'a' => array(
'b' => 10,
)
);
$params = ArrayAccess::create($arrayParams);
$value = $params->getValue('a.b');
$params
->setValue('a.b', 20)
->setValue('a.c', 30);
$params->remove('a.b');
$resultArrayParams = $params->getArray();
// array(
// 'a' => array(
// 'c' => 30,
// )
// )
$arrayAccess = ArrayAccess::create($array);
$arrayAccess->getMap()
->filter($callback)
->map($callback)
->userSortByValue($callback)
->userSortByKey($callback)
->mergeWith($array)
->replaceWith($array);
$resultArrayParams = $arrayAccess->getArray();
Example of usage ArrayMap class — https://github.com/petrgrishin/array-map