Jump to content
Fórum Script Brasil
  • 0

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


Leonardo.j

Question

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 to comment
Share on other sites

10 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other 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);
                        }

Edited by Leonardo.j
Link to comment
Share on other sites

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

Link to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...