Are there best practices or alternative approaches in PHP programming for handling the calculation of hits and combinations in a lottery system like Lotto 6 aus 49?

When dealing with the calculation of hits and combinations in a lottery system like Lotto 6 aus 49, it is important to efficiently handle the generation of all possible combinations of numbers and compare them with the user's input to determine the number of hits. One approach is to use nested loops to generate all possible combinations and then compare them with the user's input to count the hits.

<?php
function calculateHits($userNumbers, $lotteryNumbers) {
    $hits = 0;
    
    foreach($userNumbers as $userNumber) {
        if(in_array($userNumber, $lotteryNumbers)) {
            $hits++;
        }
    }
    
    return $hits;
}

$userNumbers = [5, 10, 15, 20, 25, 30];
$lotteryNumbers = [5, 10, 15, 20, 25, 30];

$hits = calculateHits($userNumbers, $lotteryNumbers);
echo "Number of hits: " . $hits;
?>