Php 扩展assoc数组
我想扩展一个assoc数组。 原始数组如下所示Php 扩展assoc数组,php,arrays,Php,Arrays,我想扩展一个assoc数组。 原始数组如下所示 $arr = [[ 'ID' => 0, 'TEXT' => SOME_CONST, 'CHECKED' => $opt_flag, ]]; 有了一个新的条件,我想扩展这个现有的数组 if (defined('MODULE_STATUS') && MODULE_STATUS == 'true') { $arr['JSON_ATTRDATA'] = 1; } 结果是 Array (
$arr = [[
'ID' => 0,
'TEXT' => SOME_CONST,
'CHECKED' => $opt_flag,
]];
有了一个新的条件,我想扩展这个现有的数组
if (defined('MODULE_STATUS') && MODULE_STATUS == 'true') {
$arr['JSON_ATTRDATA'] = 1;
}
结果是
Array
(
[0] => Array
(
[ID] => 0
[TEXT] => text
[CHECKED] => 1
)
[JSON_ATTRDATA] => 1
)
新密钥在嵌套数组之外有什么问题?您希望
$arr[0]['JSON\u attrdat']=1
现在,如果要附加到父数组,则需要具有键0的子数组,该数组$arr
已经具有1个对象
通过其索引更改此对象值的步骤
$arr[0] = "anything else"
并添加更多对象
$arr[] = "Another object";
你应致电:
$arr[0]['JSON_ATTRDATA'] = 1;
将向第一个对象添加另一个值 详细信息
$arr
包含数组中的数组。像这样
Array
(
[0] => Array
(
[ID] => 0
[TEXT] => text
[CHECKED] => 1
)
)
因此,当您添加
$arr['JSON\u ATTRDATA']
时,它会添加到第一个数组中您希望$arr[0]['JSON\u ATTRDATA']=1;包含值的数组是索引0处$arr
的子数组,因此需要将新键分配给$arr[0]['JSON\u attrda']
它位于嵌套数组之外,因为您将它插入了嵌套数组之外。如果您对此不清楚,我强烈建议您重新阅读PHP手册,了解数组的工作原理。为什么数组会嵌套在第一位?你真的想要一个二维数组吗?