Mam dość podstawowe pytanie, ale utknąłem. Jestem całkiem nowy, php i mam tablicę takich jak to:Wartość wstawienia php do tablicy tablic przy użyciu foreach
$array = array(
'one' => 1,
'two' => array('key1' => 'val1','key2' => 'val2'),
'three' => array('key1' => 'val1','key2' => 'val2'),
'four' => array('key1' => 'val1','key2' => 'val2')
);
i dla każdej z tablic w tablicy (czyli „dwa«trzy»i«cztery»), chcę wstaw 'key3' => 'val3' do tych tablic.
Próbowałem to:
foreach($array as $item) {
if (gettype($item) == "array") {
$item['key3'] = 'val3';
}
}
Ale to nie działa, a ja nie wiem dlaczego. Używając różnych print_r w całym miejscu, wydaje się wstawiać 'key3' => 'val3' do $ item, jeśli wydrukuję go w pętli, ale oryginalna tablica wydaje się niezmieniona. Próbowałem również regularnej pętli for, ale to też nie działało.
Czy klucz, a jego wartość jest równa dla każdego sub-macierzy? – SaidbakR
ciekawe dlaczego nie zrobiłeś 'foreach ($ tablica jako $ item_key => $ item) {$ array [$ item_key] ['key3'] = 'val3'; } ' – westcoast