
"embaralhar" Array
#1
Posted 17/02/2004, 11:22
Tipo, eu tenho um array contendo =>
$var[0] = "1"
$var[1] = "5"
$var[2] = "7"
E precisaria aplicar alguma funcao que me resultasse em
$var[0] = "5"
$var[1] = "7"
$var[1] = "1"
Obrigado
#2
Posted 17/02/2004, 11:23
http://www.guilardi.com.br
- portifólio
http://www.deusehmais.com.br
- projeto atual
#3
Posted 17/02/2004, 11:30
Eu tenho um array que virá com um valor ordenado. O que eu quero é desordená-lo.
#4
Posted 17/02/2004, 11:32
$array[0] = rand(0,100);//gera um numero aleatorio entre 0 e 100
E você poderia fazer isso para cada array
Mas caso queira um array aleatorio, faca assim:
$random = rand(0,100);//pegara um numero entre 0 e 100
echo $array[$random];//apresenta na tela o array aleatorio
#5
Posted 17/02/2004, 11:37

Eu devo receber um array ordenado sempre do BD.
pode ser {1,2,3,4,5,6,7}
ou {1,2,3,4}
ou {1,2}
Eu nao saberei quantos item virao neste array. Algumas vezes pode conter 1 ou n elementos. A única certeza é que eles virao ordenados do BD.
O que eu preciso é alguma funcao que me embaralhe o conteúdo SEM HAVER REPETICAO. Como no exemplo acima, a funcao me retornaria
{3,5,1,2,4,7,6}
ou
{3,2,4,1}
ou
{2,1}
existe alguma funcao pronta que faca isto no PHP?
Valeu
#6
Posted 17/02/2004, 11:48
existe uma funcao chamada shuffle()
Valeu
#7
Posted 17/02/2004, 11:50
<?
//digamos que $valores é o array para os valores
srand((float)microtime() * 1000000);//srand para "semear"
shuffle($valores);//aqui a funcao, ela embaralha os valores
while (list(, $valor) = each($valores)) {
echo $valor;
}
?>
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)