设置一个中间变量(比如 $last)保存上一个 $xy_count 就可计算

解决方案 »

  1.   

    就是这个意思$a = array(100, 80, 50);
    $last = '';
    foreach($a as $v) {
      if($last !== '') echo $last - $v;
      $last = $v;
    }
      

  2.   

    简单点可以用for$arr = array(1,2,3,4);
    for($i=0,$len=count($arr); $i<$len; $i++){
        if($i>0){
            echo $arr[$i]-$arr[$i-1];
        }
    }
      

  3.   

    while($row = $db->fetchRow($res))
     {
    。。
    echo  $xy_count;\\循环这个显示的是1008050,中间没有,号隔开,怎么把$xy_count放在这个里呢?$arr = array($xy_count);
    }
      

  4.   

    你是要创建一个1008050个元素的数组?
    array array_fill ( int $start_index , int $num , mixed $value )$arr = array_fill(0, 1008050, 0);
      

  5.   

    不是,在while里
    while($row = $db->fetchRow($res))
     {
    。。省略
         $arr = array($xy_count);这里很明显不对
         for($i=0,$len=count($arr); $i<$len; $i++)
         {
              if($i>0)
              {
                  echo $arr[$i]-$arr[$i-1];
              }
        }
     } 
      

  6.   

    $last = '';
    while($row = $db->fetchRow($res))
    {
      //学员总人数
      $xy_count = $db->getOne("SELECT COUNT(distinct xy.xy_id) FROM ".
      if($last !== '') echo $last - $xy_count; //这里是打印,实际需要是什么你自己定
      $last = $xy_count;   //其他代码
    }