<?php
define('TEST_VALUE_COUNT', 10);
srand(15);
$values = array();
for ($i = 0; $i < TEST_VALUE_COUNT; $i++) {
$values[] = rand();
}
srand(15);
foreach($values as $key => $value) {
if ($value !== rand()) {
print "Bad value at " . $key;
exit;
}
}
echo "All were the same in " . count($values) . " values\n";
srand(15);
shuffle($values);
$valuesShuffled = $values;
var_dump($valuesShuffled);
srand(15);
shuffle($values);
if (count(array_diff_assoc($values, $valuesShuffled)) == 0) {
echo "Array was the same after a seeded shuffle";
} else {
echo "Array was not the same after a seeded shuffle\n";
}
All were the same in 10 values
array(10) {
[0]=>
int(591418979)
[1]=>
int(1989950309)
[2]=>
int(1747150714)
[3]=>
int(1822822116)
[4]=>
int(776397902)
[5]=>
int(238341312)
[6]=>
int(1757955405)
[7]=>
int(116744123)
[8]=>
int(1269925186)
[9]=>
int(384176070)
}
Array was not the same after a seeded shuffle
All were the same in 10 values
array(10) {
[0]=>
int(1106721597)
[1]=>
int(762299093)
[2]=>
int(843757392)
[3]=>
int(102227743)
[4]=>
int(504266128)
[5]=>
int(1681973265)
[6]=>
int(1445576550)
[7]=>
int(2111222096)
[8]=>
int(828439474)
[9]=>
int(594610055)
}
Array was not the same after a seeded shuffle