我正在嘗試創建一個模擬彩票的程序。我用6個隨機數創建我的第一個數組,然後嘗試用隨機數繼續填充我的第二個數組,直到它們相同。當數字介於1到9之間時,它可以正常工作,但是當我將它延長到1到49之間時,就像真正的彩票一樣,我只是抽出時間。試圖比較兩個數組PHP
<?php
$number1 = $_POST['number1'];
$number2 = $_POST['number2'];
$number3 = $_POST['number3'];
$number4 = $_POST['number4'];
$number5 = $_POST['number5'];
$number6 = $_POST['number6'];
$userArray = array($number1, $number2, $number3, $number4, $number5, $number6);
// mix and max numbers that can be used with th lottery
$min = 1;
$max = 49;
// random number between 0 and 1 simulating lottery
$lotNumber1 = rand ($min, $max);
$lotNumber2 = rand ($min, $max);
$lotNumber3 = rand ($min, $max);
$lotNumber4 = rand ($min, $max);
$lotNumber5 = rand ($min, $max);
$lotNumber6 = rand ($min, $max);
$lotArray = array($lotNumber1, $lotNumber2, $lotNumber3, $lotNumber4, $lotNumber5, $lotNumber6);
asort($userArray);
asort($lotArray);
$userString = implode($userArray, "_");
$lotString = implode($lotArray, "_");
$i = 0;
set_time_limit(10000);
while($lotString != $userString) {
$i ++;
$lotNumber1 = rand ($min, $max);
$lotNumber2 = rand ($min, $max);
$lotNumber3 = rand ($min, $max);
$lotNumber4 = rand ($min, $max);
$lotNumber5 = rand ($min, $max);
$lotNumber6 = rand ($min, $max);
$lotArray = array($lotNumber1, $lotNumber2, $lotNumber3, $lotNumber4, $lotNumber5, $lotNumber6);
asort($lotArray);
$lotString = implode($lotArray, "_");
}
echo '<pre>';
print_r ($lotString);
echo '</pre>';
echo '<pre>';
print_r ($userString);
echo '</pre>';
echo "YOU WON it took ".$i." times";
?>
首先是你正在用錯誤的方式使用implode'string implode(string $ glue,array $ pieces)',所以在你的情況下它會是'$ userString = implode(「_」,$ userArray);','_'是膠水;) – 2014-11-24 13:37:27
也許你只是沒有贏 - 這就是爲什麼它被稱爲彩票;) – Rhumborl 2014-11-24 13:38:55
=))好一個......他只是運氣不佳:( – 2014-11-24 13:39:18