我用MySQL和PHP解决了一些问题。
假设我有一个包含这些行的表:
int
)boolean
)datetime
)现在我想检查,如果有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
)。
知道如何解决这个问题吗?
答案 0 :(得分:1)
是的,可以使用循环,例如:
$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);
这可能不是一个完美的方式,但它应该有用。