Php 验证票证中的4个数字

Php 验证票证中的4个数字,php,Php,我正在尝试做一个彩票系统,玩家提交4个选定的数字。 必须在彩票数组中检查数字 如果中奖者有3个或4个彩票阵列号码,我们就中奖了。否则他就输了。 我写了一个代码,有我想要的“逻辑”,但给了我很多错误 $player_picket = array($lottery_t_1, $lottery_t_2, $lottery_t_3, $lottery_t_4); $lottery_numbers = array(10, 15, 2, 1); $prize

我正在尝试做一个彩票系统,玩家提交4个选定的数字。 必须在彩票数组中检查数字

如果中奖者有3个或4个彩票阵列号码,我们就中奖了。否则他就输了。 我写了一个代码,有我想要的“逻辑”,但给了我很多错误

        $player_picket = array($lottery_t_1, $lottery_t_2, $lottery_t_3, $lottery_t_4);
        $lottery_numbers = array(10, 15, 2, 1);
        $prize = 35 * 15;

        $results = [];

         foreach ($player_picket as $numbers) {
             
            $winning = array_intersect($numbers, $lottery_numbers);
            
            $NumbersCount = sizeof($winning); 
             
            if($NumbersCount >= 3) {
                $result[$prize / 2];
            }
            if($NumbersCount == 4) {
                $result[$prize]; 
            }
            if($NumbersCount <= 3) {
                $result[0];
            }
         }            
         
         echo $result;

我在这里有点差劲。。如果有人能提供帮助。

您不需要使用循环,单交叉点就足够了:

$player_picket = array($lottery_t_1, $lottery_t_2, $lottery_t_3, $lottery_t_4);
$lottery_numbers = array(10, 15, 2, 1);
$prize = 35 * 15;

$result = 0;

$winning = array_intersect($numbers, $lottery_numbers);
$NumbersCount = sizeof($winning); 
if ($NumbersCount == 3) {
    $result = $prize / 2;
} else if ($NumbersCount == 4) {
    $result = $prize; 
}
         
echo $result;

错误非常简单。交集使用两个数组,而您给它一个数字。然后下一个函数无法使用它来获取大小,因为它失败了。lol,当然不是。这是单人游戏。非常感谢。我的错。
$player_picket = array($lottery_t_1, $lottery_t_2, $lottery_t_3, $lottery_t_4);
$lottery_numbers = array(10, 15, 2, 1);
$prize = 35 * 15;

$result = 0;

$winning = array_intersect($numbers, $lottery_numbers);
$NumbersCount = sizeof($winning); 
if ($NumbersCount == 3) {
    $result = $prize / 2;
} else if ($NumbersCount == 4) {
    $result = $prize; 
}
         
echo $result;