Vous pouvez utiliser cette fonction pour convertir un tableau de notation de points en tableau multidimensionnel.
function flattenToMultiDimensional(array $array, $delimiter = '.')
{
$result = [];
foreach ($array as $notations => $value) {
// extract keys
$keys = explode($delimiter, $notations);
// reverse keys for assignments
$keys = array_reverse($keys);
// set initial value
$lastVal = $value;
foreach ($keys as $key) {
// wrap value with key over each iteration
$lastVal = [
$key => $lastVal
];
}
// merge result
$result = array_merge_recursive($result, $lastVal);
}
return $result;
}
Exemple :
$array = [
'test.example.key' => 'value'
];
print_r(flattenToMultiDimensional($array));
Sortie :
Array
(
[test] => Array
(
[example] => Array
(
[key] => value
)
)
)