Heim > Backend-Entwicklung > PHP-Tutorial > 怎样得到循环的两个相邻的数值的差

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

WBOY
Freigeben: 2016-06-23 13:41:21
Original
1275 Leute haben es durchsucht

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;}
Nach dem Login kopieren

简单点可以用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;   //其他代码}
Nach dem Login kopieren

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage