Php 为什么中奖号码计算不正确?
我有一个生成随机数的脚本。从这个生成的随机数列表中,脚本创建赢号。赢的数字只是简单的计数,当一个数字赢了,当有一个重复的数字赢了。它现在这样做,但它开始计数后,每次获胜,但它必须开始计数,在赢的数字。这更清楚吗?这是一个在轮盘赌中创建系统的脚本,所以每次都只需要计算到赢为止Php 为什么中奖号码计算不正确?,php,Php,我有一个生成随机数的脚本。从这个生成的随机数列表中,脚本创建赢号。赢的数字只是简单的计数,当一个数字赢了,当有一个重复的数字赢了。它现在这样做,但它开始计数后,每次获胜,但它必须开始计数,在赢的数字。这更清楚吗?这是一个在轮盘赌中创建系统的脚本,所以每次都只需要计算到赢为止 <?php $existing = []; $win_numbers = []; for ($rnd = 1; $rnd <= 80; $rnd++) { $randoms[] = mt_rand(0, 36
<?php
$existing = [];
$win_numbers = [];
for ($rnd = 1; $rnd <= 80; $rnd++) {
$randoms[] = mt_rand(0, 36);
}
echo "Random Number:<br>";
echo implode('-', $randoms).PHP_EOL;
echo "<br><br>";
$i = 1;
foreach ($randoms as $rnd) {
if (in_array($rnd, $existing)) {
$win_numbers[] = $i;
$i = 1;
$existing = [];
} else {
$existing[] = $rnd;
$i++;
}
}
echo "Win Numbers:<br>";
echo implode('-', $win_numbers);
?>
我希望这有助于更多地解释我的意思。这次我已经详细解释过了。改变这个
for ($rnd = 1; $rnd <= 80; $rnd++) {
$randoms[] = mt_rand(0, 100);
}
对此
for ($rnd = 1; $rnd <= 20; $rnd++) {
$randoms[] = "".mt_rand(0, 100);
}
我不明白你想在这里实现什么,你能编辑你的帖子并解释一下吗?我已经编辑过了,并且说得更清楚了。请运行脚本以了解我的意思。您的编辑使它实际上不那么清晰,您删除了一些解释。对我来说,你的预期结果似乎不符合,如果你从比赛后的下一个数字开始从1开始计算,你的比赛位置应该是8和8。您应该明确代码当前给出的结果是什么,我们不应该被迫从代码中创建一个脚本来知道您是正确的。第一个匹配是正确的,即8。但是我们应该在8点开始新的计数,然后下一场比赛是9点。但它不能做到这一点。它作为匹配als 8给出,因为它不计算第一个数字。对不起,我不明白这背后的逻辑。在您的示例中,“4”和“7”也出现多次。为什么不把它们算作匹配数呢?第一个匹配数是正确的,但是下面的匹配数是1到7,所以8应该是7。