Когда вы перебираете массив, $cell
является копией значения, а не ссылкой, поэтому его изменение не повлияет на значение в массиве.$cell
ссылка:
foreach ($array as &$cell) {
if ($cell["type"] == "type_list") {
$cell["list"] = $anObject;
error_log(print_r($cell, TRUE), 0);
}
error_log(print_r($array, TRUE), 0);
Или доступ к элементам массива напрямую с помощью индекса.
foreach ($array as $i => $cell) {
if ($array[$i]["type"] == "type_list") {
$array[$i]["list"] = $anObject;
error_log(print_r($array[$i], TRUE), 0);
}
error_log(print_r($array, TRUE), 0);