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;
    }
}
相关文章
相关标签/搜索