我有一个包含此数据的数组变量:
$arr["values"] = [
"key1" => "value1"
"key2" => "value2"
"key3" => "value3"
]
现在我正在尝试向$arr
添加新键,如下所示:
$arr['newvalues'] = "anothervalue";
$arr['newvalues']['subvalues'] = "some_subvalue";
但是我得到了这个错误:
警告:不能将标量值用作数组
错误标记在此行:
$arr['newvalues']['subvalues'] = "some_subvalue";
为什么?我没有正确添加键/值?我做错了什么?
您必须
将$arr['newvalues']
设置为数组才能向其添加元素,目前您将其设置为字符串。
$arr['newvalues'] = [];
$arr['newvalues']['subvalues'] = "some_subvalue";
在这一行中
$arr['newvalues'] = "anothervalue";
您正在为$arr['newvalues']
分配标量值。在下一行,您将它视为数组,但事实并非如此,因为您刚刚为其分配了一个标量值。
您可能的意思是$arr['newvalues']
数组并向其添加anothervalue
。
$arr['newvalues'][] = "anothervalue";