繁体   English   中英

PHP在2个时间点写入多维数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM