在数组中查找数字序列

rof*_*fle 1 php

我正在做一个Yahtzee游戏,我需要一种方法来计算一个小直线(按顺序排列4个数字).如此有效的将是:1,2,3,4 | 2,3,4,5 | 3,4,5,6.

我有一个包含5个数字的数组,我需要弄清楚这3个组合中的一个是否在该数组中.

对于那些不熟悉Yahtzee的人来说,有5个骰子(数组中的5个数字)可以是1-6.

Pao*_*ino 5

function isStraight($hand) {
    $straights = array(range(1, 4), range(2, 5), range(3, 6));
    foreach($straights as $solution) {
        if(array_intersect($solution, $hand) == $solution) {
            return $solution;
        }
    }
    return false;
}

$hand = array(1,5,2,4,3);

var_dump(isStraight($hand));
Run Code Online (Sandbox Code Playgroud)

不确定游戏规则,但应该这样做.

该函数将返回它找到的第一个解决方案 - 在这种情况下[1,2,3,4].false如果它没有找到任何直道,它将返回布尔值.希望这可以帮助.