我有一些小问题要用 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/