PHP計算期間の最大連続日数

需要など:連続打ち抜きの最大日数は?または、数字の文字列、連続する最大の数字の数。

$nums = ['2018-10-09','2018-10-10','2018-10-11','2018-10-13','2018-10-15','2018-10-16','2018-10-17','2018-10-18'];
    $max  = 0;
    $hash = [];
    foreach ($nums as $val) {
        $hash[$val] = 1;
    }
    foreach ($nums as $val){
        $num = 1;
        if (!$hash[$val - 1]) {
            while($hash[++$val]) $num++;
        }
        $max = $num > $max ? $num : $max;
    } 

    echo $max;
$nums = [0, 3, 7, 2, 5, 8, 4, 6, 0, 1];
    $max  = 0;
    $hash = [];
    foreach ($nums as $val) {
        $hash[$val] = 1;
    }
    foreach ($nums as $val){
        $num = 1;
        if (!$hash[$val - 1]) {
            while($hash[++$val]) $num++;
        }
        $max = $num > $max ? $num : $max;
    } 

    echo $max;

おすすめ

転載: blog.51cto.com/xuqin/2536431