2016-04-03 14 views
0

ここで質問をするのは初めてです。英語が悪い場合や、何か問題があった場合はお詫び申し上げます。 私は簡単な質問をしますが、どのようにmt_randの同じ値を得ることができますか?例:同じ値のmt_randを取得する

$array = [ 
 
      array('colour' => 'Green', 'type' => 'BMW'), 
 
      array('colour' => 'Blue', 'type' => 'Toyota') 
 
     ]; 
 
$random = $array[mt_rand(0, count($array) - 1]; 
 

 
echo 'That car is ' . $random['type'] . ' with colour ' . $random['colour'];

しかし、時には、それは車が色ブルーとBMWであることを「結果を与えます。車がBMW、色が緑、トヨタ車の場合は青色のように、私はそれをエコーするときに正しい色を与えたい。私はあなたが私が何を意味したのか理解できることを願っているこれをお読みいただきありがとうございます。

+0

あなたのコードは、あなたが望むものとまったく同じように見えます。 私はこれをhttps://3v4l.org/MErbF –

+0

でテストしました。mt_randは一度だけ実行されます。 – Mihai

+1

そのコードは青色のBMWをエコーし​​ません。上記以外のものでなければなりません。それ以上はあなたの実際のコードではありません。 – arkascha

答えて

0

array_randを使用すると、配列からランダムなキーを取得する方が簡単です。あなたがここにmt_randを希望する場合

$cars = [ 
    [ 
     'colour' => 'Green', 
     'type' => 'BMW' 
    ], 
    [ 
     'colour' => 'Blue', 
     'type' => 'Toyota' 
    ] 
]; 

$randomCarKey = array_rand($cars); 
// will be one of 0,1 

$randomCar = $cars[$randomCarKey]; 

print 'That car is ' . $randomCar['type'] . ' with colour ' . $randomCar['colour']; 

ウィル出力

That car is BMW with colour Green 

はあなたがランダムキーを取得することができる方法だ、と

$randomKey = mt_rand(0, count($cars) - 1); 
$randomCar = $cars[$randomCarKey]; 

print PHP_EOL . 'That car is ' . $randomCar['type'] . ' with colour ' . $randomCar['colour']; 

それを使用する出力

That car is Toyota with colour Blue 
関連する問題