2017-12-15 5 views
1

私は質問があります。私は0と36の間に37の乱数を生成する小さなスクリプトを作成しましたが、私はそれを少し拡張したいと思います。数値を数えて並べ替える

これは私が持っているものです。

<!DOCTYPE html> 
<html> 
<body> 

<?php 
for ($x = 1; $x <= 37; $x++) { 
    echo(mt_rand(0,36) . "<br>"); 
} 
?> 

</body> 
</html> 

私は36に番号0の水平方向の行を表示すると、その下に、私は、以前の乱数発生器のコードからどのように多くの倍の数のショーを見せたいです。

誰かが私を助けることができますか?

+1

私は出力 – nogad

答えて

0

これを試してみてください:

<!DOCTYPE html> 
<html> 
<body> 
<?php 

    $numberOfSpins = 10000; 
    $numberArray = array(); 

    // Start table 
    echo '<table> 
      <tr>'; 

    // print out the table headers 
    for ($x = 0; $x < 37; $x++) echo '<th style="font-weight:bold; color:#09f;">'.$x.'</th>'; 

    // Fill $numberArray with random numbers 
    for($i=0; $i < $numberOfSpins; $i++) array_push($numberArray, mt_rand(0,36)); 

    echo '</tr> 
      <tr>';  

    // Count value frequency using PHP function array_count_value() 
    $resultArray = array_count_values($numberArray); 

    // Start from 0 since you are generating numbers from 0 to 36 
    for($i=0; $i < 37; $i++) 
    { 
     // array_count_values() returns an associative array (the key of 
     // each array item is the value it was counting and the value is the 
     // occurrence count; [key]->value). 
     if (isset($resultArray[$i])) echo '<td>'.$resultArray[$i].'</td>'; 
     else echo '<td>0</td>'; 
    } 

    echo '</tr> 
     </table>'; 
?> 
</body> 
</html> 
+0

こんにちはIvan86のために再び、カウントループを取得するために)(配列の使用array_count_valuesにランダム生成の結果を救う、 この正しい方向に進んでいます。私がスクリプトを作成している理由は、ルーレットを研究したいし、それがカオス理論に関連しているからです。 あなたが知っているように、ルーレットは0から36までの37の数字を持っています。私はあなたのスクリプトをxamppにアップロードしましたが、1から37までカウントしています。数字が飛び出した? 最後に、37回ではなく100回回すために何回変更する必要がありますか? これまでのお手伝いありがとうございます。 ;) –

+0

私は自分の答えを編集して、任意のスピンを行い、0-36の出力を調整できるようにしました。私の側からタイプミスだったことを申し訳ありません。すべてがうまくいくことを願っています。ああ、カオス理論は本当に素晴らしいです。私はそれがどのように動作するのか驚いています。 – Ivan86

+0

あなたは単に素晴らしいです。私は今かなりの時間のルーレットフォーラムのメンバーで、そこの私のフォーラムの友人の1人が3ヶ月以上を握っている何かを発見しました。あなたが興味があれば、システムをさらに改善できるかどうかを研究しています面白いと思うと私はそこにあなたを紹介することができます。 テーブルの下にグラフを追加して、テーブル内の結果を視覚化する方法を教えてください。 –

0

アレイを作成し、結果を保存することができます。あなたが値を格納し、列番号を表示するためにarray_keysを使用する変数を使用することができますarray_count_values

$random_numbers = array(); 
echo 'Random Numbers: '; 
for ($x = 1; $x <= 37; $x++) { 
    $random_numbers[] = mt_rand(0,36); 
} 
print_r(array_count_values($random_numbers)); 

OUTPUT

Array 
(
    [21] => 1 
    [22] => 1 
    [15] => 1 
    [6] => 2 
    [13] => 2 
    [24] => 2 
    [35] => 3 
    [0] => 1 
    [3] => 2 
    [32] => 1 
    [19] => 2 
    [9] => 2 
    [28] => 2 
    [29] => 1 
    [33] => 1 
    [11] => 1 
    [2] => 3 
    [25] => 1 
    [10] => 2 
    [4] => 1 
    [30] => 1 
    [20] => 1 
    [27] => 1 
    [26] => 1 
    [12] => 1 
) 
-1

を使用することができます

コード

印刷するarrays_values彼は価値がある。後者はオプションです。

<?php 

$numbers = []; 

for($x = 1; $x <= 10; $x++) { 
    $numbers[$x] = mt_rand(0,36); 
} 

echo implode("\t | \t", array_keys($numbers)); 
echo PHP_EOL; 
echo implode("\t | \t", $numbers); 
関連する問題