Ir ao conteúdo
  • Cadastre-se

Problemas para no shuffle do php


Ir à solução Resolvido por DiF,

Posts recomendados

Eu tenho estes códigos, onde os dados dos inputs HTML são passados via POST para o PHP, que é o local que sorteará e imprimirá resultados.
O meu problema é que não está imprimindo todos os 12 inputs, somente 11. O PHP está deixando de imprimir as variáveis com índice 12.


 

<section id="form">
            <form action="sorteio.php" method="post">
                <fieldset>
                    <input type="text" name="name[]" placeholder="Digite aqui..."/></br>
                    <input type="text" name="name[]" placeholder="Digite aqui..."/></br>
                    <input type="text" name="name[]" placeholder="Digite aqui..."/></br>
                    <input type="text" name="name[]" placeholder="Digite aqui..."/></br>
                    <input type="text" name="name[]" placeholder="Digite aqui..."/></br>
                    <input type="text" name="name[]" placeholder="Digite aqui..."/></br>
                    <input type="text" name="name[]" placeholder="Digite aqui..."/></br>
                    <input type="text" name="name[]" placeholder="Digite aqui..."/></br>
                    <input type="text" name="name[]" placeholder="Digite aqui..."/></br>
                    <input type="text" name="name[]" placeholder="Digite aqui..."/></br>
                    <input type="text" name="name[]" placeholder="Digite aqui..."/></br>
                    <input type="text" name="name[]" placeholder="Digite aqui..."/></br>
                </fieldset>
            </form>
            <input type="submit" value="Sortear" id="btn"/>
        </section>
<?=
        $pessoas = isset($_POST['name']) ? $_POST['name'] : null;

        shuffle($pessoas);
        print "<br>";
        print "Juiz: " . $pessoas[1];
        print " / Policial: " . $pessoas[2];
        print " / Anjo: " . $pessoas[3] . "<br><br>";

        print "Assassino: " . $pessoas[4];
        print " / Aprendiz: " . $pessoas[5];
        print " / Silence: " . $pessoas[6] . "<br><br>";

        print "Paralisador: " . $pessoas[7] . " " . "<br>";
        print "/Paparazzi: " . $pessoas[8] . " " . "<br>";
        print "/Bruxo: " . $pessoas[9] . " " . "<br>";
        print "/Detetive: " . $pessoas[10] . " " . "<br>";
        print "/Aldeao: " . $pessoas[11] . " " . "<br>";
        print "/Espirito: " . $pessoas[12] . " " . "<br><br>";
        
        print "/Fada: " . $pessoas[12] . " ";
        print "/Escudeiro: " . $pessoas[12] . " " . "<br>";

        print "/Psicopata: " . $pessoas[8] . " ";
        print "/Demonio: " . $pessoas[8] . "<br><br>";

        ?>


 

Ps: Note que os quatro últimos possuem índices repetidos, propositalmente.

Link para o comentário
Compartilhar em outros sites

  • Moderador
  • Solução

@Joao_Lucaas Isso é porque o primeiro índice do vetor não recebeu um está omitindo um índice no vetor.

 

Como um vetor começa em zero,  a contagem é de 0 a 11(12 pessoas)

 

Então $pessoas[0] seria o primeiro índice do vetor e $pessoas[11] o último índice do vetor.

Com isso altere a estrutura de com você exibe em tela.

O print não é muito bom usar. O echo é mais rápido.

 

echo"
<br>
Juiz:  $pessoas[0] / Policial: $pessoas[1] / Anjo: $pessoas[2]
<br/><br/>		
Assassino: $pessoas[3] / Aprendiz: $pessoas[4] / Silence: $pessoas[5] 
<br/><br/>
		 
Paralisador: $pessoas[6] <br/> Paparazzi: $pessoas[7]<br/> 
/Bruxo: $pessoas[8] <br/> /Detetive: $pessoas[9]<br/>
Aldeao: $pessoas[10] <br/> /Espirito: $pessoas[11] 
<br/><br/>
			
/Fada: $pessoas[11]  /Escudeiro: $pessoas[11] 
<br/>
Psicopata: $pessoas[7] /Demonio:  $pessoas[7] 
<br/><br/>
 ";

 

 

 

 

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!