2016-07-29 9 views
-1

配列内に6つの数値を生成しようとしていますが、mt_rand関数を使用していますが、配列内に同じ番号を持つことはできません。これを確認して番号を再度生成するにはどうすればいいですか?配列内のPHP固有番号

私は重複した配列を作成し、配列に何人がいるのかを数えることを考えました。数字が生成され、もう一度チェックされれば、何かのための多くの仕事のようですそのPHPは私が見つけることができないためのネイティブ関数を持っているかもしれません...

重複する事は私が助けを必要とするものではありません、それは値へのキーをチェックしている、私はすべての値が一意である必要があります。

+0

の可能性のある重複した[PHPでランダムユニークな数字の配列を生成](http://stackoverflow.com/questions/10824770/generate-array-of-random-unique-numbers-in-php) – Laurel

+0

このキーと値が同じでないことを確認することです。私はちょうど価値が必要です。 – jnDny

+1

これは最も確かに重複しています:http://stackoverflow.com/questions/7792816/php-unique-random-numbers?rq=1 – Laurel

答えて

0
$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) } 
関連する問題