-1
我想在數組中生成6個數字,我使用mt_rand函數,但是我不能在數組中使用相同的數字。我將如何去檢查這個並重新生成號碼?PHP中唯一的數字
我想過做一個重複的數組和循環拋出,並計算數組中有多少,如果它超過1然後重新生成數字並再次檢查,但這只是看起來像很多工作的東西該PHP可能有一個本地函數,因爲我找不到...
重複的東西不是我需要幫助,即檢查值的關鍵,我需要所有的值是唯一的。
我想在數組中生成6個數字,我使用mt_rand函數,但是我不能在數組中使用相同的數字。我將如何去檢查這個並重新生成號碼?PHP中唯一的數字
我想過做一個重複的數組和循環拋出,並計算數組中有多少,如果它超過1然後重新生成數字並再次檢查,但這只是看起來像很多工作的東西該PHP可能有一個本地函數,因爲我找不到...
重複的東西不是我需要幫助,即檢查值的關鍵,我需要所有的值是唯一的。
$number_of_numbers = 6;//number_of_numbers in array
$min = 1;//minimum value of number that you want
$max = 15;//maximum value of number that you want
$array = array();
for ($a = 0; $a < $number_of_numbers; $a++) {
$check = 0;//for entering while loop
while ($check !== false) { //pick a number and check if it is in array if it is in the array, pick again and check again
$try[$a] = mt_rand($min, $max); //pick a number
$check = array_search($try[$a], $array);// search that number if it is in the array
}
$array[] = $try[$a]; //add number to array
}
var_dump($array); // show me the array
這是你的意思嗎?我可能會誤解數組鍵。你能解釋一下嗎?
這裏是輸出。抱歉,我忘了先添加它。
array(6) { [0]=> int(10) [1]=> int(12) [2]=> int(3) [3]=> int(5) [4]=> int(9) [5]=> int(15) }
的[生成在PHP隨機唯一編號的數組]可能的複製(http://stackoverflow.com/questions/10824770/generate-array-of-random-unique-numbers-in-php) – Laurel
這並不是一回事,那就是確保關鍵和價值不一樣。我只需要價值觀。 – jnDny
這一個肯定是一個更好的重複:http://stackoverflow.com/questions/7792816/php-unique-random-numbers?rq=1 – Laurel