2016-09-23 5 views
-1

ランダムに配列から値を選びたいと思っていますが、パフォーマンスの面では最良の方法はわかりません。私は初心者なので、ランダムな値を得る方法はあまり知られておらず、それらがパフォーマンスや正確な違いにどのように影響するかはわかりません。例えば、 "mt_rand"は "rand"関数よりも4倍高速です。私はこの名前の配列がある場合はランダム値オプション

$myarrayofnames = ["Marcelle","Caroll","Kristina","Tisha","Filomena","Vesta","Josphine"]; 

をそして、私は彼らから選ぶにしたい、私のオプションは何ですか?

+0

使用 'シャッフルについて学びたいのであれば()' 'シャッフル($ myarrayofnames);'ランダムのために、どのように多くの価値あなたがランダムに取得したいです。 ? – devpro

+0

1つしかないので、私はこれを好きです: '$ shuffle($ myarrayofnames);' – winadalwin

+0

[配列からランダム値を取り出す方法](http://stackoverflow.com/questions/1643431/how-to-get-random-value-out-of-an-array) – iainn

答えて

1

mt_rand()rand()だけでランダムなノーを生成するためのもの。

From the Manual: mt_rand - よりよい乱数値を生成する

From the Manual:ランド - あなたの配列のためにランダムな整数を生成します

あなたはランダムな値を取得するためarray_rand()を使用することができます。

例:あなたはちょうど第二のparamで1を渡すことができますよりも、あなたは自分の配列からわずか1つの値が必要な場合

$myarrayofnames = ["Marcelle","Caroll","Kristina","Tisha","Filomena","Vesta","Josphine"]; 
$randomNo = array_rand($myarrayofnames,1); 
echo $myarrayofnames[$randomNo]; // this will print the random value 

アレイの複数の値を使用する場合は、配列のインデックス数に応じてnoを渡すことができます。この場合、array_rand()は配列を返します。

あなたはDifference between mt_rand() and rand()