2012-02-23 14 views
1

結果に重複のない値を1〜3の3つの乱数にする必要があります と:
$ total = '3';
$ rand1 = rand(1、$ total);
$ rand2 = rand(1、$ total);
$ rand3 = rand(1、$ total);
およびexの結果:1.2.3または3.2.1、または2.1.3
私を助けてください、事前(PHP)重複値を持たない3つの乱数を選択

+0

範囲が1〜3で3つの数字が必要な場合はランダムですか?彼らは整数でなければなりませんか? –

+0

私は次のような3つの数字をプリントしたい:3つの乱数は3 1と2 –

答えて

1

で感謝のはなぜしようとしない。同様に、配列をシャッフルについて

$inp = array(1, 2, 3); 
shuffle($inp); 
$rand1 = $inp[0]; 
$rand2 = $inp[1]; 
$rand3 = $inp[2]; 
+0

ありがとう、しかし$ total = 1000なら、どうやって動くの? –

+0

@AljoshaBreの答えを見てください - それは任意の数の値を扱います。 –

6

方法をそう:

$num = range(1,$total); 
shuffle($num); 
print_r($num); 
+3

毎日私はシャッフルだよ ' –

+0

ありがとうございます:) –

1

3に番号1の配列を置換するためにshuffle()関数を使用 シャッフルランダムな順序で配列の要素を配置します。

0
$values = array(); 
$max_value = 10; 
$count = 5; // must be less than $max_value of you'll get an infinite while loop 
for ($i = 0; $i < $count; $i++){ 
    do { 
     $value = rand(1, $max_value); 
    } 
    while(isset($values[ $value ]) /* && count($values) < $count */) 
    $values[ $value ] = TRUE; 
} 

print_r(array_keys($values)); 
関連する問題