//go through each question
foreach($file_data as $value) {
//separate the string by pipes and place in variables
list($category, $question) = explode('|', $value);
//place in assoc array
$data = array($category => $question);
print_r($data);
}
Это не работает, так как заменяет значение данных. Но как я могу добавить ассоциативное значение в каждый цикл? $file_data
представляет собой массив данных динамического размера.
Вы можете просто сделать это
$data += array($category => $question);
Если вы работаете на php 5.4+
источник
до цикла:
$data = array();
затем в вашем цикле:
$data[] = array($catagory => $question);
источник
$data=[];
$data[] = [$category => $question];
$res = array(); $res[] = array('foo' => $bar); $foo = $res['foo'];
не работает с неопределенным индексом: foo in .. , но предложенный ниже знак плюса работает.Я знаю, что это старый вопрос, но вы можете использовать:
array_push($data, array($category => $question));
Это подтолкнет вас к
array
концу вашего токаarray
. Или, если вы просто пытаетесь добавить отдельные значения в конец вашего массива, а не больше массивов, вы можете использовать это:источник
Для всех, кому также необходимо добавить в 2-мерный ассоциативный массив, вы также можете использовать ответ, указанный выше, и использовать такой код
$data[$category]["test"] = $question
затем вы можете вызвать его (чтобы проверить результат:
echo $data[$category]["test"];
который должен напечатать $ question
источник