嵌套數組的設定值可以說我有這樣的代碼:PHP:使用可變關鍵
$array = [
'a'=> [
'b' => [
'c'=>'some value',
],
],
];
$array['a']['b']['c'] = 'new value';
當然這是工作,但我想要的是更新使用可變這個「C」鍵,這樣的事情:
$keys = '[a][b][c]';
$array{$keys} = 'new value';
但鍵treatening爲字符串,這就是我得到:
$array['[a][b][c]'] = 'new value';
所以我想一些幫助,向我展示如何在不使用eval()的情況下完成這項工作的正確方法。
順便說一句,可以有任意數量的陣列巢的,所以這樣的事情是不是一個很好的答案:
$key1 = 'a';
$key2 = 'b';
$key3 = 'c';
$array[$key1][$key2][$key3] = 'new value';
多虧了工作,這就是我所需要的。是的,IAM使用join()函數將字符串定義爲a.b.c,如果有人需要,可以使用代碼: function keyArray($ array = [],array $ path = []){result = array(); ($ array as $ key => $ val){ $ currentPath = array_merge($ path,array($ key)); if(is_array($ val)){ $ result = array_merge($ result,keyArray($ val,$ currentPath)); } else { $ result [] = join('。',$ currentPath); } } return $ result; } –