假设我有一个整数88123401,我想确定它是否包括一个数字序列,例如1234、23456、456789等,且长度不限,且从数字的任何开头开始。在PHP中,这完全可能吗,如果是这样,如何去发现?

最佳答案

带有for的某些功能,因此您可以遍历所有字符串,将每个字符与其前一个字符进行比较。

function doesStringContainChain($str, $n_chained_expected)
{
    $chained = 1;

    for($i=1; $i<strlen($str); $i++)
    {
        if($str[$i] == ($str[$i-1] + 1))
        {
            $chained++;
            if($chained >= $n_chained_expected)
                return true;
        }else{
            $chained = 1;
        }
    }
    return false;
}

doesStringContainChain("6245679",4); //true
doesStringContainChain("6245679",5); //false

10-08 00:14