我需要循环遍历数组列表并返回匹配项

时间:2014-02-12 10:21:43

标签: php

我正在建立一个游戏来检查彩票,所以我试图建立一个循环,通过50个彩票线列表循环6个彩票号码。

我有一个包含6个非重复数字的数组。我想通过50个数组循环这个数组,每个数组有6个数字,但在每个数组中都没有数字可以重复。

我想返回数组中的数字与其他任何50个数组中的任何数字匹配的次数。

1 number = 20 matches
2 numbers = 10 matches
3 numbers = 1 match.

我对PHP足够新,并试图找到最简单的方法。

我正在使用这个游戏来提高我对PHP的了解,任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

<?php
//array to store the number of matches
$matchesArr = array(0,0,0,0,0,0,0);

//your lottery numbers
$myNumbers = array(1,2,3,4,5,6);

//the past lottery results
$pastResults = array(
    array(10,12,1,2,34,11),
    array(10,12,1,2,34,11),
    array(10,12,1,2,34,11)
);

//loop through each past lottery result
foreach($pastResult as $pastResult){
    $matches = 0;

    //do any of your numbers appear in this result?
    foreach($myNumbers as $myNumber){
        if(in_array($myNumber, $pastResult)){
            $matches++;
        }
    }

    //add the number of matches to the array
    $matchesArr[$matches]++;
}

//print the number of matches
foreach($matchesArr as $index=>$matches){
    echo $index." number = ".$matches."\n";
}

?>