[英]PHP Write to a Multidimensional Array at 2 points in time
我正在使用多维数组,我想有条件地向其中添加键,但没有得到我想要的输出。 问题的核心是以下代码:
$data[$CSVKey] = array (
'key1' => $key1value,
);
$data[$CSVKey] = array (
'key2' => $key2value,
);
在以后的工作中,我期望发生的事情是会有一个包含键1和键2的多维数组,但是我没有得到。 当我使用它时,我只会看到“ key2”。 但是,当我将其更改为:
$data[$CSVKey] = array (
'key1' => $key1value,
'key2' => $key2value,
);
我可以根据需要看到阵列。 我不能以这种方式填充多维数组吗?
每次分配新数组时,您要替换的值是$data[$CSVKey]
。
您应该继续使用方括号符号来分配值:
$data[$CSVKey]['key1'] = $key1value;
$data[$CSVKey]['key2'] = $key2value;
或者,如果您想在一次调用中向数组添加多个元素,则可以使用array_merge()
:
$data[$CSVKey] = array_merge($data[$CSVKey], ['key1' => $key1value, 'key2' => $key2value])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.