Ir ao conteúdo

Posts recomendados

Postado

Ola, estou tentando fazer um script  em PHP para fins de estudo e não sei se realmente ele ficou pesado ou estou fazendo mt errado,

A ideia a seguinte, pegar 10 numeros de 0 a 1000 e coloca-los em um array(), eu fiz a seleção com base conforme fosse sorteados 10 vezes,

mas se eu coloca mais de 2 numeros, ele da q a memoria foi mt usada e da erro, e tambem sempre volta o numeros. 

obs: diminui de 1000 a 1001 porque, o php não aguenta.
 

 

$numeros = array(0=>array("numero"=>454,"qtd"=>2));
$premiado = array();
while(count($premiado) <=  2){
$n = rand(1000,1001);
$count = count($numeros);
foreach ($numeros as $key => $value) {
	if(in_array($n,$numeros[$key])){
		if($numeros[$key]['qtd'] < 10){
			$numeros[$key]['qtd'] = ++$numeros[$key]["qtd"];
		}else{
			array_push($premiado, $numeros[$key]['numero']);
		}	
	}else{
		$newValor = array("numero"=>$n,"qtd"=>1);
		array_push($numeros, $newValor);
	}	
}
}
if($premiado != false){
	var_dump($premiado);
}

var_dump($numeros);

 

Postado

Eu conseguir chegar em um resultado, porém eu tenho 8gb de ram e i5 e não consigo imprimir mais q 2 resultado de 0,4000, o a ideia era 10 de 0 a 9999.

 

while(count($premiado) < 2){
$n = rand(0,4000);
array_push($numeros, $n);
$newTeste = array_count_values($numeros);
foreach ($newTeste as $key => $value) {
	
	if($value >= 10){
		$c = key($newTeste);
		if(in_array($key, $premiado)){
				
		}else{
			array_push($premiado, $key);
		}
		
	}
}



}
//saida

//array (size=2)
  //0 => int 3169
  //1 => int 1942

 

  • 2 semanas depois...
Postado

Olha eu não consegui entender seu código ele está muito bagunçado porém, se você quer um código de sorteio para estudo isso pode te ajudar.

<?php
$valores = []; // Array com os valores sorteados
$Min = 0; // Valor minimo possível no sorteio
$Max = mt_getrandmax(); // Valor maximo possível no sorteio. a função getrandmax() retorna o maior valor que pode ser gerado em uma chamada a função mt_rand().
$numero = 10; // Quantidade de numeros a serem sorteado e salvo no array

for($num = 0; $num < $numero; $num++){
    // A função mt_rand() é um gerador melhorado de números aleatórios. 
	array_push($valores, mt_rand($Min,$Max));
}

var_dump($valores);  // Mostrando os valores sorteados
?>

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!