Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/255.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在数组中逐渐存储增量数?-计算平均滚动_Php_Mysql_Average_Increment - Fatal编程技术网

Php 在数组中逐渐存储增量数?-计算平均滚动

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

(为了便于理解,我认为最简单的方法是使用jackpot翻滚) 我有以下数据:

我通过检查结果中当前行的前一行(如图所示),然后增加$rollovercount,获得了当前/最新的头彩翻滚:

$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),因为数组不包含“最新/第一次”计数