php foreach數組的一個奇怪現象

foreach ($data as $value) {
    if ($value['code'] == 1) {
        $a = array();
        $a['name'] = 'aaa';
        $a['abbr'] = 'bbb';
        $value['arrt'][] = $a; 
    }
}

項目中寫一個foreach循環,而後給元素$value['arrt']賦值,然而$data的值沒有改變。code

必須寫$data下指定好key才行,可能使用 as $value的寫法不保存key吧foreach

foreach ($data as $key=>$value) {
    if ($value['code'] == 1) {
        $a = array();
        $a['name'] = 'aaa'; 
        $a['abbr'] = 'bbb';
        $data[$key]['arrt'][] = $a;
    }
}
相關文章
相關標籤/搜索