php遍历多维数组改变数组的值

        今天项目中的一个问题,就是查出来的结果需要根据条件再次过滤,因为查出来的是一个二维数组,所以就直接遍历数组了。我用的二维数组是$list,先用这样子遍历:

foreach($list as $k=>$v){
            if(strpos($v['distance'],'7.') === 0 &&strrchr($v['distance'],'km')== 'km' ){
                $v['distance'] = '7.0km';
            }
        }
但是这样子做了$list并没有改变,原因是$V不是$list中的元素了,它只是和$List中的$['$k']键值相等的一个一维数组,知道原因了就好办了,正确代码如下:
foreach($list as $k=>$v){
            if(strpos($v['distance'],'7.') === 0 &&strrchr($v['distance'],'km')== 'km' ){
                $list[$k]['distance'] = '7.0km';
            }
        }

这样子就真正改变$List了。

你可能感兴趣的:(php)