0

11 面のサイコロ (面の 2 から 12 まで) の 2000 個のサイコロをシミュレートしようとしています。データを配列に格納する必要があります。

サイコロが転がされる私のループは次のとおりです。

for($counter = 0; $counter <=2000; $counter++)
{
$die = rand(2, 12);
$int[$counter] = $die;
echo " $die ,";
}

^ 2000 個の乱数が出力されているので問題ないようです。

次の部分は私が困っているところです。結果の一部を出力する必要があります。簡単にするために、次のような echo ステートメントでロールされた 5 の数を出力する必要があるとしましょう。

_ _ ファイブが出ました。」

私はそれを機能させることができないようです。この割り当てでは、for ループを使用する必要があります。if ステートメントを使用して新しいものを作成し、上記のループに if ステートメントを含めてみました。どちらにも運がありません。どうすればこれを機能させることができますか?

4

2 に答える 2

0

私はこれがあなたの問題を解決すると思います..

 $array = array();
 for($counter = 0; $counter <=2000; $counter++)
 {
     $die = rand(2, 12);
     $array[]= $die;
 }

for($c=2;$c<=12;$c++){
    foreach($array as $r){
        if($c==$r)
        {
            $arr[$c]+=1;
        }
    }
}

foreach($arr as $key=>$value)
{

    echo $value." [".$key."] were rolled<br>";
}
于 2013-08-08T01:18:55.793 に答える