Home > Backend Development > PHP Tutorial > 怎样得到循环的两个相邻的数值的差

怎样得到循环的两个相邻的数值的差

WBOY
Release: 2016-06-23 13:41:21
Original
1275 people have browsed it

function get_shijian_list($school_id,$parent_id)
{
$sql = "select shijian_id,name,type from ".$fdyu->table('oa_shijian')." where parent_id=".$parent_id." and school_id=".$school_id." order by shijian_id asc";
$res = $db->query($sql);
$arr = array();
if($res)
{
while($row = $db->fetchRow($res))
{
//学员总人数
$xy_count = $db->getOne("SELECT COUNT(distinct xy.xy_id) FROM ".
$fdyu->table('oa_xueyuan')." as xy left join ".
$fdyu->table('oa_banji')." as bj on xy.cur_banji_id=bj.banji_id
(bj.shijian_1=".$row['shijian_id']." or bj.shijian_2=".$row['shijian_id']." or bj.shijian_3=".$row['shijian_id'].")
");

$sj_id = $row['shijian_id'];
$arr[$sj_id]['sj_id'] = $sj_id;
$arr[$sj_id]['xy_count_s'] = $xy_count;
}
}
return $arr;


请问在循环中的$xy_count,怎样计算两个相邻的差,比如,得到的$xy_count分别是100、80、50,怎样得到
100-80=20
80-50-30


回复讨论(解决方案)

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

麻烦一下你,帮我写一下

就是这个意思

$a = array(100, 80, 50);$last = '';foreach($a as $v) {  if($last !== '') echo $last - $v;  $last = $v;}
Copy after login

简单点可以用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];
}
}

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

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

$arr = array_fill(0, 1008050, 0);

不是,在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];
}

}

在while里怎么写呢?

$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;   //其他代码}
Copy after login

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template