Array durcheinanderbringen
Pascal
- php
0 romy0 Thomas Meinike
Hi, gibt es eine Möglichkeit, in PHP ein Array durcheinander zu bringen ?
Ich habe es mit shuffle($array); versucht, aber er würfelt es immer in der selben reihenfolge durcheinander ...
Hi, gibt es eine Möglichkeit, in PHP ein Array durcheinander zu bringen ?
sicherlich ;)
Ich habe es mit shuffle($array); versucht, aber er würfelt es immer in der selben reihenfolge durcheinander ...
das liegt an der rand()-funktion, die bei gleichem Startwert auch den gleichen Zufall hat (was für ein sinnloser Satz, DU weisst was ich meine)
ergo: versuche selbst Dir diese Funktion zu schreiben
//startwert setzten
srand($wert); // nimm die Zeit, also am besten $wert=mktime(blabla);
while($i < count($array)) {
$zufall = rand(1,count($array));
a[$i] = array[$zufall];
}
$array = $a;
alles klar ;)
ciao
romy
Hallo,
Hi, gibt es eine Möglichkeit, in PHP ein Array durcheinander zu bringen ?
Ich habe es mit shuffle($array); versucht, aber er würfelt es immer in der selben reihenfolge durcheinander ...
Initialisiere jeweils den Zufallsgenerator neu:
<?php
$test_arr=array(1,2,3,4,5);
srand ((float) microtime()*10000000);
shuffle($test_arr);
print implode(",",$test_arr);
?>
MfG, Thomas