2017-12-15 24 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

내가) (배열에 사용 array_count_values를 임의 생성의 결과를 절약 할 수, 출력 – 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에 대한 루프 다시 다음 이를 카운트를 얻을 수 옳은 길을 가고있다. 대본을 작성하는 이유는 룰렛을 연구하고 혼돈 이론과 관련이 있기 때문입니다. 룰렛은 0에서 36까지 37 개의 숫자가 있습니다. xampp에 스크립트를 업로드했지만 1에서 37까지 계산됩니다. 어떻게 0에서 36까지 조정할 수 있습니까? 숫자가 튀어 나왔어? 그리고 마지막으로 37 번 대신 100 번 돌리기 위해 어떤 번호를 변경해야합니까? 지금까지 도와 주셔서 감사합니다. ;) –

+0

나는 임의의 스핀량을 수행하고 0-36의 출력을 조정할 수 있도록 내 대답을 편집했습니다. 미안해, 그건 내 편 이었어. 희망은 이제 모든 것이 잘 작동합니다. 오, 카오스 이론은 정말로 놀랍습니다. 나는 그것이 또한 어떻게 작동하는지에 놀란다. – Ivan86

+0

당신은 단순히 놀랍습니다. 나는 지금 꽤 많은 시간 동안 룰렛 포럼 회원이며, 저의 포럼 친구들 중 한 명이 지금 3 개월 이상을 견디고있는 어떤 것을 발견했으며 관심이 있다면 시스템을 더 향상시킬 수 있는지 연구 중입니다. 흥미로운 걸 내가 너를 소개 할 수있어. 테이블 아래에 차트를 추가하여 테이블에 표시된 결과를 시각화 할 수있는 방법을 보여줄 수 있습니까? –

0

배열을 만들어 결과를 저장할 수 있습니다.

코드

당신은 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)); 

당신은 값을 저장 한 후 array_keys을 사용하기 위해 변수를 사용할 수 있습니다

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

OUTPUT은 열 번호를 표시하는 데 사용할 수 있습니다 인쇄하려면 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);