Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Como posso gerar um serie de números aleatórios do tipo
1 2 3 4 5 6
1 2 3 4 5 7
1 2 3 4 5 8
1 2 3 4 5 9
1 2 3 4 5 10...
1 2 3 4 6 10
1 2 3 4 7 10
1 2 3 4 8 10
com um valor máximo para cada numero de cada combinação.
eu consegui salvar esse valor no bd com serialize recuperar e incrementar mas não consegui fazer ele transitar de índice conforme o valor máximo era atingido .
então escrevi errado não e aleatório é incrementado!
use apenas o for. O $i é incrementado a cada loop.
vc leu o que escrevi lá em cima
Li sim, mas se não é isso não entendi seu problema.
tenho que gerar números incrementado assim, são como os sorteios da mega sena(04-16-18-31-45-46), só que no meu casso
começo com 1 - 2 - 3 - 4 - 5 - 6 e vai aumentando assim 6 até atingir um numero máximo 10 ai ele pula para o 5 até atingir 10 também e assim vai
Então, com for você pode fazer assim:
$valorMin = 0;
$valorMax = 10;
for($i = $valorMin; $i<=$valorMax; $i++){
echo $i." ";
}
Se você precisar interar ou salvar o esses numeros você pode salva-los em um array e depois usar um foreach. Não entendi qual a lógica necessária para o pulo, mas talvez for dentro for resolva.realmente é complicado vou tentar aqui
Pelo que eu entendi, ao chamar a função você quer que ele incremente o valor anterior ao valor maximo.
Tipo:
1 - 2 - 3 - 4 - 10 - 10
O valor maximo é 10, então seria incrementado o 4, que viraria 5, te retornando:
1 - 2 - 3 - 5 - 10 - 10
Se for isso é fácil:
<?php
echo '<pre>';
$nums = array(1,2,3,4,10,10);
print_r($nums);
function lottery($array, $maximo = 10)
{
$array = array_reverse($array);
$limit = count($array)-1;
for($i=0; $i<=$limit; $i++){
if($array[$i] < $maximo){
$array[$i]++;
break;
}
}
return array_reverse($array);
}
print_r(lottery($nums));
Saida:
>
Array( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 10 [5] => 10)Array( [0] => 1 [1] => 2 [2] => 3 [3] => 5 [4] => 10 [5] => 10)
kkkkkkkkk onde esta a complicação, o Raoni Botelho Sporteman ja deu a solução :p
realmente é complicado vou tentar aqui
tente fazer como ele falou
>
Então, com for você pode fazer assim:
$valorMin = 0;
$valorMax = 10;
for($i = $valorMin; $i<=$valorMax; $i++){
echo $i." ";
}
Se você precisar interar ou salvar o esses numeros você pode salva-los em um array e depois usar um foreach. Não entendi qual a lógica necessária para o pulo, mas talvez for dentro for resolva.Eu entendi oque você quer. Quer gerar as combinações de um grupo de 6 numeros possíveis de 1 a 60 (mega Sena), certo?
Tive essa curiosidade também e fiz um script, mas está em casa , assim que chegar lá posto aqui.
Realmente não foi tão fácil assim não.
A idéia foi essa:
Obviamente não deixei o loop correr todo, mas pelos meus testes meu script funcionou perfeitamente, depois posto aqui!!
você pode usar a função mt_rand para gerar um numero aleatório. Coloque dentro de um loop for para gerar vários números.