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

PHP在2个时间点写入多维数组,php,arrays,multidimensional-array,Php,Arrays,Multidimensional Array,我正在使用一个多维数组,我希望有条件地向其中添加键,但没有得到我想要的输出。问题的核心是以下代码: $data[$CSVKey] = array ( 'key1' => $key1value, ); $data[$CSVKey] = array ( 'key2' => $key2value, ); 当我以后处理数组时,我希望会出现一个多维数组,其中包含键1和键2,但我不明白这一点。当我使用它时,我只看到“键2”。但是,当我将其更改为: $data[$CSVKey]

我正在使用一个多维数组,我希望有条件地向其中添加键,但没有得到我想要的输出。问题的核心是以下代码:

$data[$CSVKey] = array (
    'key1' => $key1value,
);

$data[$CSVKey] = array (
    'key2' => $key2value,
);
当我以后处理数组时,我希望会出现一个多维数组,其中包含键1和键2,但我不明白这一点。当我使用它时,我只看到“键2”。但是,当我将其更改为:

$data[$CSVKey] = array (
    'key1' => $key1value,
    'key2' => $key2value,
);

我看到了我想要的阵列。我可以不这样填充多维数组吗

每次分配新数组时,都要替换$data[$CSVKey]的值

您应该继续使用括号符号来分配值:

$data[$CSVKey]['key1'] = $key1value;
$data[$CSVKey]['key2'] = $key2value;
或者,如果要在一次调用中向数组添加多个元素,可以使用
array\u merge()

$data[$CSVKey] = array_merge($data[$CSVKey], ['key1' => $key1value, 'key2' => $key2value])

每次分配新数组时,都要替换$data[$CSVKey]的值

您应该继续使用括号符号来分配值:

$data[$CSVKey]['key1'] = $key1value;
$data[$CSVKey]['key2'] = $key2value;
或者,如果要在一次调用中向数组添加多个元素,可以使用
array\u merge()

$data[$CSVKey] = array_merge($data[$CSVKey], ['key1' => $key1value, 'key2' => $key2value])

谢谢-我完全理解使用多维数组的正确方法。谢谢-我完全理解使用多维数组的正确方法。