php insertar valor en la matriz de matrices utilizando foreach
Tengo una pregunta bastante básica pero estoy atascado. Soy bastante nuevo en PHP y tengo una matriz como esta:
$array = array(
'one' => 1,
'two' => array('key1' => 'val1','key2' => 'val2'),
'three' => array('key1' => 'val1','key2' => 'val2'),
'four' => array('key1' => 'val1','key2' => 'val2')
);
y para cada una de las matrices en la matriz (es decir, 'dos,' tres 'y' cuatro '), quiero insertar' key3 '=>' val3 'en esas matrices.
Intenté esto:
foreach($array as $item) {
if (gettype($item) == "array") {
$item['key3'] = 'val3';
}
}
Pero no funciona, y no estoy seguro de por qué. Al usar varios print_r por todo el lugar, parece que se inserta 'key3' => 'val3' en $ item si lo imprimo en el bucle, pero la matriz original no se modifica. También probé un bucle regular para eso, pero tampoco funcionó.