Php 在数组中逐渐存储增量数?-计算平均滚动
(为了便于理解,我认为最简单的方法是使用jackpot翻滚) 我有以下数据: 我通过检查结果中当前行的前一行(如图所示),然后增加$rollovercount,获得了当前/最新的头彩翻滚:Php 在数组中逐渐存储增量数?-计算平均滚动,php,mysql,average,increment,Php,Mysql,Average,Increment,(为了便于理解,我认为最简单的方法是使用jackpot翻滚) 我有以下数据: 我通过检查结果中当前行的前一行(如图所示),然后增加$rollovercount,获得了当前/最新的头彩翻滚: $rollovercount = 0; $previous = ''; $stmt = DB::Prepare(" SELECT jvt.jackpotvalue, jt.dateofjackpot FROM JackpotTable jt LEFT JOIN
$rollovercount = 0;
$previous = '';
$stmt = DB::Prepare("
SELECT jvt.jackpotvalue, jt.dateofjackpot
FROM JackpotTable jt
LEFT JOIN JackpotValueTable jvt on jvt.jackpotid = jt.jackpotid
ORDER BY jt.dateofjackpot desc
");
$stmt->execute();
$result = $stmt->get_result();
if ($result)
{
while ($row = $result->fetch_object())
{
$current = $row->jackpot;
if ($current < $previous)
{
$rollovercount ++;
}
$previous = $current;
}
}
return $rollovercount ;
$rollovercount=0;
$previous='';
$stmt=DB::准备(“
选择jvt.jackpotvalue、jt.dateofjackpot
来自JackpotTable jt
左连接JackpotValueTable jvt on jvt.jackpotid=jt.jackpotid
按jt.dateofjackpot说明订购
");
$stmt->execute();
$result=$stmt->get_result();
如果($结果)
{
而($row=$result->fetch_object())
{
$current=$row->jackpot;
如果($当前<$以前)
{
$rollovercount++;
}
$previous=$current;
}
}
返回$rollovercount;
这很有效,但现在我想得到平均滚动计数。
如果您看到示例数据,则最新的滚动计数为3(Jackpot值从上一行下降)。
在此之前是5次翻车。
在那之前是两次翻车。
在此之前是1次翻车。
在那之前是两次翻车
So 3+5+2+1+2=13和13/5=2.6 So 2.6是翻车的平均数量
也许如果某种原因,可以将滚动存储在$rollovercount=array(3、5、2、1、2)等数组中;然后使用array_sum($rollovercount)将其除以count($rollovercount)您可以这样做:
$rollovercount = 0;
$rolloverCountArray = array();
$previous = '';
$stmt = DB::Prepare("
SELECT jvt.jackpotvalue, jt.dateofjackpot
FROM JackpotTable jt
LEFT JOIN JackpotValueTable jvt on jvt.jackpotid = jt.jackpotid
ORDER BY jt.dateofjackpot desc
");
$stmt->execute();
$result = $stmt->get_result();
if ($result)
{
while ($row = $result->fetch_object())
{
$current = $row->jackpot;
if ($current < $previous)
{
$rollovercount ++;
} else {
$rolloverCountArray[] = $rollovercount;
$rollovercount = 0;
}
$previous = $current;
}
}
return array(
"rollovercountLast" => $rollovercount,
"rolloverCountAvg" => array_sum($rolloverCountArray) / count($rolloverCountArray)
);
$rollovercount=0;
$rolloverCountArray=array();
$previous='';
$stmt=DB::准备(“
选择jvt.jackpotvalue、jt.dateofjackpot
来自JackpotTable jt
左连接JackpotValueTable jvt on jvt.jackpotid=jt.jackpotid
按jt.dateofjackpot说明订购
");
$stmt->execute();
$result=$stmt->get_result();
如果($结果)
{
而($row=$result->fetch_object())
{
$current=$row->jackpot;
如果($当前<$以前)
{
$rollovercount++;
}否则{
$rolloverCountArray[]=$rollovercount;
$rollovercount=0;
}
$previous=$current;
}
}
返回数组(
“rollovercountLast”=>$rollovercount,
“rolloverCountAvg”=>数组\u和($rolloverCountArray)/count($rolloverCountArray)
);
我还没有测试过这段代码,但我希望它能让您了解如何在代码中解决这个问题。祝你好运 发生翻滚时,将当前翻滚计数添加到数组中,并将
$rollovercount
重置为0。是的,但我如何在代码中执行此操作-将当前翻滚计数准确地放入数组中,然后继续并检查下一次翻滚计数?感谢hade进行一些调整:if($current>=$previous)和:(array\u sum)($rolloverCountArray)+$rollovercount)/(count($rolloverCountArray)+1),因为数组不包含“最新/第一次”计数