fork download
  1. <?php
  2.  
  3. function nums(){
  4.  
  5. $num3 = rand(1, 6); // número que irá se repetir 3 vezes
  6. $array = array(); // declara a array
  7. // insere o valor nas 3 primeiras posições da array
  8. array_push($array,$num3,$num3,$num3);
  9.  
  10. // enquanto a areray não tiver 9 posições
  11. while(sizeof($array) < 9){
  12. // número aleatório de 1 a 6
  13. $num = rand(1, 6);
  14.  
  15. // se este número for diferente do número repetido 3 vezes
  16. // se for igual, o while continua rodando
  17. if($num3 != $num){
  18.  
  19. // contador para contar ocorrências
  20. $conta = 0;
  21.  
  22. // verifica ocorrências do número
  23. for($x = 0; $x < sizeof($array); $x++){
  24. if($array[$x] == $num) $conta++;
  25. }
  26.  
  27. // se houver menos de 2 ocorrências
  28. // adiciona o núemro na array
  29. if($conta < 2) $array[] = $num;
  30.  
  31. }
  32.  
  33. }
  34.  
  35. // randomiza a ordem dos elementos
  36. shuffle($array);
  37.  
  38. // retorna a array
  39. return $array;
  40. }
  41.  
  42. print_r(nums());
Success #stdin #stdout 0s 82560KB
stdin
Standard input is empty
stdout
Array
(
    [0] => 1
    [1] => 4
    [2] => 6
    [3] => 4
    [4] => 5
    [5] => 5
    [6] => 2
    [7] => 6
    [8] => 4
)