计算之前的二维数组:$arr = array(
array(vw => 21, n => 0),
array(vw => 34, n => 0),
array(vw => 44, n => 0),
array(vw => 65, n => 0),
);
计算之后的数组:$arr = array(
array(vw => 21, n => 21),
array(vw => 34, n => 13),
array(vw => 44, n => 10),
array(vw => 65, n => 21),
);

解决方案 »

  1.   

    $arr[0]['n']=$arr[0]['vw'];
    foreach($i=1;$i<count($arr);$i++)
    {
       $arr[$i]['n']=$arr[$i]['vw']-$arr[$i-1]['vw'];
    }
      

  2.   


    $arr = array(
    array(vw => 21, n => 0),
    array(vw => 34, n => 0),
    array(vw => 44, n => 0),
    array(vw => 65, n => 0),
    );foreach($arr as $key =>$narr){
            if($key=='0'){
    $arr[$key][n]=$arr[$key][vw];
    }
    $arr[$key][n]=$arr[$key][vw]-$arr[$key-1][vw]; }
    print_r($arr);
      

  3.   

    代码如下:$arr = array(
    array(vw => 21, n => 0),
    array(vw => 34, n => 0),
    array(vw => 44, n => 0),
    array(vw => 65, n => 0),
    );
    foreach ($arr as $key=>$val) {
    if($key===0){
    $arr[$key]['n']=$arr[$key]['vw'];
    }else{
    $arr[$key]['n']=$arr[$key]['vw']-$arr[$key-1]['vw'];
    }
    }
    print_r($arr);
      

  4.   

    foreach ($arr as $key=>$val) {
        if($key===0){
            $arr[$key]['n']=$arr[$key]['vw'];
        }else{
            $arr[$key]['n']=$arr[$key]['vw']-$arr[$key-1]['vw'];
        }
    }
    print_r($arr);兄弟~还要多学习哦
      

  5.   

    $arr = array(
    array('vw' => 21, 'n' => 0),
    array('vw' => 34, 'n' => 0),
    array('vw' => 44, 'n' => 0),
    array('vw' => 65, 'n' => 0),
    );
    $i = count($arr);
    while ($i && $arr[--$i]['n'] = $arr[$i]['vw'] - $arr[$i - 1]['vw']);print_r($arr);
      

  6.   

    $arr = array(
    array(vw => 21, n => 0),
    array(vw => 34, n => 0),
    array(vw => 44, n => 0),
    array(vw => 65, n => 0),
    );
    function chk(&$a,$k,$all){
    $a['n'] = $a['vw']-($k>0?$all[$k-1]['vw']:0);
    }
    array_walk($arr,'chk',$arr);
    print_r($arr);
      

  7.   

    谢谢各位,给分晚了。自己用for循环解决了。5楼的代码很强大,学习了!只是当两行之间差为0的时候,就会退出循环。第一次看到while的这种写法,仰慕中......