Существует массив:
$array = ['key1'=>['key2'=>'val']];
В строке через точку указаны ключи массива:
$keys_string = 'key1.key2';
Необходимо изменить значение массива используя ключи указанные через точку в переменной $keys_string.
Если только 2 уровня вложенности
$keys = explode(".", $keys_string);
$array[$keys[0]][$keys[1]] = 'val'
Или если не 2 уровня
$keys = explode(".", $keys_string);
foreach($item as $keys) {
$val = &$array[($item];
}
$val = 'test';
ОБНОВЛЕНО
Суть - добраться по ссылке изменить массив
$array = ['key1'=>['key2'=>'val']];
$keys_string = 'key1.key2';
$keys = explode(".", $keys_string);
foreach($keys as $key) {
$val = &$array[$key];
}
$val = 'test';
var_dump($array);
Продвижение своими сайтами как стратегия роста и независимости