假设我有以下代码:
Lets say i have this kind of code:
$array = [
'a'=> [
'b' => [
'c'=>'some value',
],
],
];
$array['a']['b']['c'] = 'new value';
这当然可以运行,但我想要的是使用变量更新这个“c”键,类似于这样:
$keys = '[a][b][c]';
$array{$keys} = 'new value';
但是键被视为字符串,这就是我得到的内容:
$array['[a][b][c]'] = 'new value';
我希望能够得到一些帮助,让我知道如何在不使用eval()的情况下使它正常工作。
顺便说一下,可能会有任意数量的数组嵌套,因此像这样的东西不是一个好答案:
$key1 = 'a';
$key2 = 'b';
$key3 = 'c';
$array[$key1][$key2][$key3] = 'new value';