我正在尝试将新元素插入到类似的多维关联数组中
$arr=array('ID' => 123,
'name' => 'rock',
'accountID' => 'u0777f7f-77f7-4d2e-9h7c-ea775d052785',
'admin' => array (
'main' => array (
'stats' =>'',
'emails' =>'',
'calls' => ''
)
)
);
$list='';
$list .="['admin']['main']['hello']";
$arr{$list}='world';
print_r($arr);
但新元素并没有被添加到[‘admin’][‘main’]中,相反,它正在创建像这样的新数组元素
Array
(
[ID] => 123
[name] => rock
[accountID] => u0777f7f-77f7-4d2e-9h7c-ea775d052785
[admin] => Array
(
[main] => Array
(
[stats] =>
[emails] =>
[calls] =>
)
)
[['admin']['main']['hello']] => world
)
请帮我解决它。感谢
这就是您应该做的:
$arr['admin']['main']['hello'] = > 'world';
或
$main = $arr['admin']['main'];
$main['hello'] = 'world';
[['admin']['main']['hello']] => world
这是因为STRING考虑了$list
尝试更改此行
$list='';
$list .="['admin']['main']['hello']";
$arr{$list}='world';
print_r($arr);
带有
$list = array();
$list['main']['hello'] = "world";
$arr['admin'] = $list;
print_r($arr);
魔法将会显现。lol
如果你想要$arr类:
Array (
[ID] => 123
[name] => rock
[accountID] => u0777f7f-77f7-4d2e-9h7c-ea775d052785
[admin] => Array (
[main] => Array (
[stats] =>
[emails] =>
[calls] =>
)
)
[hello] => world
)
您可以逻辑地编写
$arr = array();
$arr['ID'] = 123;
$arr['name'] = "rock";
$arr['accountID'] = "u0777f7f-77f7-4d2e-9h7c-ea775d052785";
$arr['admin']['main']['stats'] = "complete";
$arr['admin']['main']['emails'] = "example@email.com";
$arr['admin']['main']['calls'] = "yourfunction";
$arr['hello'] = "world";