PHP-запись в многомерный массив в 2 момента времени

Я работаю с многомерным массивом, к которому я хочу условно добавить ключи, и не получаю желаемый результат. В основе проблемы лежит следующий код:

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

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

Когда я буду работать с массивом позднее, я ожидаю, что будет многомерный массив с ключом 1 и ключом 2, но я этого не понимаю. когда я работаю с ним, я вижу только «key2». Однако, когда я изменяю это на это:

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

Я вижу массив, как я хочу. Разве я не могу заполнить многомерный массив таким образом?

0

Решение

Вы заменяете любое значение $data[$CSVKey] каждый раз, когда вы назначаете новый массив.

Вам следует просто продолжить использовать обозначения в скобках, чтобы присвоить свои значения:

$data[$CSVKey]['key1'] = $key1value;
$data[$CSVKey]['key2'] = $key2value;

Или вы могли бы использовать array_merge() если вы хотите добавить более одного элемента в массив за один вызов:

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]