Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Verificar numeros iguais, aparti de uma sequência digitada


Leonardo.j

Pergunta

Vou tentar explicar...

Cliente quer ver os números repetidos que apareceram nos útimos 10 sorteios da Mega-Sena, tudo bem, ele vai lá no [ Campo1 ] Digita os 10 sorteios na seguinte forma ( 01-02-03-04-05-06-07-08-09-10-11-12-13-14-15-16-17-18-19-20 etc. ) Ai dentro desses números gostaria de saber as seguintes formas..

Quais numeros foram repetidos, e se possivel a quandidade que repetiu.

Quais os numeros que não foram repetidos

De 0 a 60 quais numeros não apareceram na lista digitada.

Andei pesquisando, isso poderia ser feito com array, ele colocaria ifem( - ) e trocaria por virgula ( , ) até ai tudo bem, mais como poderia criar o array e fazer essas buscas nos numeros digitados?

Já criei um template pequeno, para visualizar clique: ( Templete )

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

Acho que entendi, mais agora, como faço para pegar os numeros que for acima de 2 por exemplo.

$textarea    =    "10-11-55-41-58-73-01-01-01";
    $separar    =    explode('-', $textarea);
        $repetidos    =    array_count_values($separar);
Vai ficar assim:
Array ( [10] => 1  [11] => 1 [55] => 1 [41] => 1 [58] => 1 [73] => 1 [01] => 3 )

Como faço para pegar todos os numeros que [000] => 2 for maior que 2? e o numero de vezes que foi repetido.

Link para o comentário
Compartilhar em outros sites

  • 0

é, consegui fazer quase tudo.

só estou com problemas no verificar de 00 a 60 para ver quais não foram cítados.

Olhe o código como ficou:

$textarea    =    "10-11-55-52-58-58-01-01-01";
            $separar    =    explode('-', $textarea);
                $repetidos    =    array_count_values($separar);
                    echo "Numeros repetidos: <br>";
                    foreach ($repetidos as $v => $b) {
                        if($b > 1) { 
                            echo $v."[".$b."] - ";
                        }
                    }
                    echo "<br><br>";
                    echo "Numeros não repetidos: <br>";
                    foreach ($repetidos as $v => $b) {
                        if($b == 1) { 
                            echo $v." - ";
                        }
                    }

Apesar que ele está exibindo - no final até quando não tem números.

Link para o comentário
Compartilhar em outros sites

  • 0

Use o array_unique no array original (o que tem os itens repetidos), isso vai fazer com que o mesmo fique sem valores repetidos, ai basta usar um for para ler do 1 ao 60, e como disse lá em cima usar o in_array para verificar se o valor existe no array que você editou com o array_unique ou não.

Link para o comentário
Compartilhar em outros sites

  • 0

Então, não estou conseguindo fazer do 01 ao 60 veja como estou tentando fazer...

$tirariguais = array_unique($separar); // Pega os valores digitados sem repetidos
                        for ($i = 01;  $i <= 10; $i++) {
                            $array = array($i);
                            print_r($array);
                        }

Editado por Leonardo.j
Link para o comentário
Compartilhar em outros sites

  • 0
for ($i = 1;  $i <= 60; $i++) {
                            if(!in_array($i,$tirariguais)){
                                $não[] = $i;
                            }
                        }
                        
                        print_r($não);

Link para o comentário
Compartilhar em outros sites

  • 0

Inicio:

$textarea = "01-02-03-04-05-06-07-08-09-11-11-11-13-14-15-16-17-18-19-20-21";
        $separar    =    explode('-', $textarea);     //Retira os hífens para transformar em array
        $repetidos    =    array_count_values($separar);     //Transforma em array
Exibe os numeros e a quantidade que repetiu:
foreach ($repetidos as $a => $b) {    //Pega a array do $repetidos e exibe " numero-[quantidade que repetiu] "
            if($b > 1) {     //Tudo que for maior que 1 ele vai exibir
                echo ''.$a.'-['.$b.']&nbsp; ';        //Exibe " numero-[quantidade que repetiu] "
            } 
        }
Exibe os numeros não repetidos:
foreach ($repetidos as $a => $b) {    //Pega a array do $repetidos e exibe todos os numeros não repetidos.
            if($b == 1) {     //Todos os numeros que o valor de repetição seja , ou seja, não repetidos.
                echo $a.'&nbsp; ';        //Exibeos numeros não repetidos.
            } 
        }
Verificando se existe de 0 a 60 em um array:
$tirariguais = array_unique($separar); // Pega os valores digitados sem repetidos e cria array
                        for ($i = 1;  $i <= 60; $i++) {
                            if(!in_array($i,$tirariguais)){
                                $não[] = $i;
                            }
                        }
                        foreach ($não as $v => $b) {
                                echo $b.'&nbsp; ';
                        }

Creditos: ESerra e Meus

Obs: Caso estiver algo errado só perguntar.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...