首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP:基于日期范围的计数

PHP:基于日期范围的计数
EN

Stack Overflow用户
提问于 2021-03-30 07:40:34
回答 1查看 24关注 0票数 1

好吧我该怎么解释。假设我有一系列的数字/天。

代码语言:javascript
复制
$days = array(31,24,08,14,17);

现在我有4个周期与特定的白天范围。

  • 循环1: 23-01
  • 循环2: 02-08
  • 循环3: 09-15
  • 循环4: 16-22

f 210

因此,现在我想计算一下,每个循环中有多少来自days数组的值。

周期1将计算为2,因为31和24属于23-01周期2将计算1 (08)周期3将计数1 (14)周期4将计数1 (17)

这些数字来自于某一特定日期的天数,我只需计算掉的天数。我已经可以计算从周期2-4,但有问题的周期1。

代码语言:javascript
复制
$cycle1 = 0;
$cycle2 = 0;
$cycle3 = 0;
$cycle4 = 0;

$days = array(31,24,08,14,17);

foreach ($days as $day)
{
    if ($day >= 23 && $day <= 01)
    {
        $cycle1++;
    }

    if ($day >= 02 && $day <= 08)
    {
        $cycle2++;
    }

    if ($day >= 09 && $day <= 15)
    {
        $cycle3++;
    }

    if ($day >= 16 && $day <= 22)
    {
        $cycle4++;
    }

}

谢谢,希望有人能通过日期(‘d’,strtotime(datestring));范围来说明如何做这件事。

EN

回答 1

Stack Overflow用户

发布于 2021-03-30 11:01:50

代码语言:javascript
复制
<?php
$days = array(31,24,14,17,1,16);
/*
Cycle 2: 02-08 =>() = 0
Cycle 3: 09-15 =>(14) = 1 
Cycle 4: 16-22 =>(17,16) = 2
Cycle 1: 23-01 =>(31,24,1) = 3
*/
$cycle1 = $cycle2 = $cycle3 = $cycle4 = 0;

foreach ($days as $day)
{
    if($day >= 23)
        $cycle1++;

    elseif($day >= 16)
        $cycle4++;

    elseif($day >= 9)
        $cycle3++;

    elseif($day >= 2)
        $cycle2++;

    else
        $cycle1++;
}
echo "cycle1=$cycle1<br>cycle2=$cycle2<br>cycle3=$cycle3<br>cycle4=$cycle4<br>";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66866632

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档