php - 检查结果是否连续

标签 php mysql

我有一些小问题要用 MySQL 和 PHP 解决。

假设我有一个包含这些行的表格:

  • id (int)
  • 值( bool 值)
  • 日期(日期时间)

现在我想检查是否有 5 个或更多条目的值连续为 false

例子:

id | value | date
1 - true - 01.01.1970
2 - false - 02.01.1970
3 - false - 03.01.1970
4 - false - 04.01.1970
5 - false - 05.01.1970
6 - false - 06.01.1970

这里我们有 5 个连续 false 的条目。所以我的脚本应该返回 true(是的,有 5 个或更多条目,它们连续 false)。

这个例子应该返回false:

id | value | date
1 - false - 01.01.1970
2 - false - 02.01.1970
3 - true - 03.01.1970
4 - false - 04.01.1970
5 - true - 05.01.1970
6 - false - 06.01.1970

这应该返回 false(不,没有 5 个或更多条目连续 false)。

知道如何解决这个问题吗?

最佳答案

是的,可以使用循环,例如:

$array = [[1, true], [1, false], [1, false],[1, false],[1, false],[1, false]]; // Your array

$counter = 0;
$hasFoundFiveContinuesFalse = false;
foreach($array as $item) {
    if($item[1] == false) {
        $counter++;
    } else {
        $counter = 0;
    }

    if($counter >= 5 ) {
        $hasFoundFiveContinuesFalse = true; // if we have found 5 times false then break the loop and set hasFoundFiveContinuesFalse to true 
        break;
    }
}

var_dump($hasFoundFiveContinuesFalse);

这可能不是一个完美的方法,但它应该可行。

关于php - 检查结果是否连续,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46885640/

相关文章:

php - 无法从值包含中间空格的表中删除条目?

mySQL REGEXP to SELECT information_schema.COLUMNS 在 COLUMN_NAME 中使用大写字母

php - 如何获取php资源的大小

php - 可以存在在 php 上加载动态类的最佳实践/方法吗?

php - 无法将此元素宽度设置为 100%

javascript - 自动登录网站,使用 ASP.NET

mysql - 如何计算 MySQL 表中前一行和当前行的总和?

mysql - 使用外键约束和索引在 MySql InnoDb 中进行行锁定?

php - 无法修复西里尔字母问题。 htmlspecialchars/PHP/MySQL

c# - 正则表达式 - 增量替换