Ho una domanda piuttosto semplice ma sono bloccato. Sono abbastanza nuovo per php e ho un array come questo:inserire il valore php in array di matrici utilizzando foreach
$array = array(
'one' => 1,
'two' => array('key1' => 'val1','key2' => 'val2'),
'three' => array('key1' => 'val1','key2' => 'val2'),
'four' => array('key1' => 'val1','key2' => 'val2')
);
e per ciascuna delle matrici nella matrice (vale a dire, 'due, 'tre', e 'a quattro'), voglio inserisci 'key3' => 'val3' in quegli array.
ho provato questo:
foreach($array as $item) {
if (gettype($item) == "array") {
$item['key3'] = 'val3';
}
}
Ma non funziona, e non so perché. Usando vari print_r dappertutto, sembra di inserire 'key3' => 'val3' in $ item se lo stampo nel loop, ma la matrice originale sembra invariata. Ho anche provato un ciclo regolare, ma non ha funzionato.
fare la chiave e il suo valore sono uguali per ogni sotto-array? – SaidbakR
curioso perché non hai fatto 'foreach ($ array come $ item_key => $ item) {$ array [$ item_key] ['key3'] = 'val3'; } ' – westcoast