shuffle() gibt immer den selben Array zurück...
AllesMeins
- php
Hiho,
ich lasse auf meinem kleinen Test-System (Win 2000, Apache, PHP Version 4.2.3) folgendes Script laufen:
//Zugedekt array anlegen
$array = array();
for($i = 0;$i < 16;$i++){
for($j = 0;$j < 21;$j++){
$array[] = $i . "-" . $j;
}
}
shuffle($array);
print_r($array);
Naja. Der Array ist zwar nicht in der ursprünglichen Reihenfolge, aber jedesmal in der selben:
Array ( [0] => 13-16 [1] => 1-12 [2] => 13-12 [3] => 1-8 [4] => 15-6 [5] => 10-11 [6] => 15-5 [7] => 7-14 [8] => 13-15 [9] => 4-9 [10] => 15-18 [11] => 9-4 [12] => 12-5 [13] => 3-2 [14] => 15-14 [15] => 7-10 [16] => 15-2 usw...)
Irgendwelche Ideen was ich falsch gemacht habe.
Grüsse
Marc
Hallo,
[PHP Version 4.2.3]
shuffle($array);
Naja. Der Array ist zwar nicht in der ursprünglichen Reihenfolge, aber jedesmal in der selben:
Obwohl es gemaess dem Manual seit PHP 4.2.0 nicht mehr
notwendig sei, kannst Du ja versuchen, mit srand()
den Zufallsgenerator "durchzuschuetteln", bevor Du
shuffle() anwendest.
http://www.php.net/manual/en/function.shuffle.php
http://www.php.net/manual/en/function.srand.php
Vielleicht ist da in Deiner 4.2.3 doch noch ein Bug, keine Ahnung.
Gruesse,
Thomas
Hiho,
srand() bringt auch nichts. Es liefert genau den selben Array zurück, egal ob mit oder ohne srand().
Irgend eine andere Idee wie ich nen Array richtig mischen kann?
Grüsse
Marc