Ajuda - Busca - Membros - Calendário
Versão Completa: Função Shuffle
Fórum Script Brasil > Programação & Desenvolvimento > PHP
Vampyro
olá amigos... estou com problemas em um script...
Eu queria exibir sete palavras... sempre aleatória...

dai usei o seguinte script:

CODE
$numbers = array("Um" => 1, "Dois" => 2, "Três" => 3, "Quatro" => 4, "Cinco" => 5, "Seis" => 6, "Sete" => 7);
foreach($numbers as $key=>$value){
   echo "$key => $value\n";
}
srand((float)microtime() * 1000000);
shuffle($numbers);

foreach($numbers as $key=>$value){
   echo "$key => $value\n";
}


Porem! olha o que apareçe na página:

Um => 1 Dois => 2 Três => 3 Quatro => 4 Cinco => 5 Seis => 6 Sete => 7 after shuffle 0 => 1 1 => 7 2 => 3 3 => 5 4 => 6 5 => 2 6 => 4

alguém poderia me dizer se existe outra forma de fazer isto? ou aonde esta o erro no script?
ESerra
O script está perfeito... mas ele está mandando ser impresso todos os elementos do array, no seu caso você quer apenas o primeiro elemento (que, lembre-se, por ser um array é o 0), logo:
CODE
<?php
$numbers = array("Um" => 1, "Dois" => 2, "Três" => 3, "Quatro" => 4, "Cinco" => 5, "Seis" => 6, "Sete" => 7);

srand((float)microtime() * 1000000);
shuffle($numbers);

echo $numbers[0];

?>
Beraldo
A partir do PHP 4.2 não é mais necessário semear o gerador de números, ou seja, não precisa usar srand(). wink.gif


Eu usaria shuffle() juntamente com array_rand() para sortear números. wink.gif

[]'s
Esta é uma versão simplificada de nosso conteúdo principal. Para ver a versão completa com maiores informações, formatação e imagens, por favor clique aqui.
Invision Power Board © 2001-2013 Invision Power Services, Inc.