Как вставлять значения в двумерный массив через foreach?

Существует прекрасный двумерный массив, созданный из базы данных.

$myTeachers = $stm->fetchAll();

На первом уровне он нумерованный, на автором — ассоциативный.

Хотелось бы договориться с функцией foreach, чтобы она обходила массив на первом уровне и добавляла на второй новое значение (ассоциативное).

По моему разумению должно бы как-то так...

foreach ($myTeachers as $t) {
    $myTeachers["$t"]['text_index'] = 'value';
}

Но такой код выдаёт ошибку «Array to string conversion», так как в нём массив $t используется в качестве строковой переменной. Как правильно построить foreach под такую задачу?

Maxim 22.05.2020 в 07:54

Ответы (2)


Задача решена Вадимом @franzkafkiansky, за что ему огромное спасибо

foreach ($arr as $index => &$t) {
    $t['text_index'] = 'value';
}

var_dump($arr);

Maxim 22.05.2020 в 08:33

foreach ($arr as $index => $t) {
    $arr[$index]['text_index'] = 'value';
}
ivashkevich 27.05.2020 в 19:10

Добавить новый ответ