我正在寻找一个函数,我可以在PHP中传递数组和种子并返回一个"随机"数组.如果我再次传递相同的数组和相同的种子,我会得到相同的输出.
我试过这段代码
//sample array
$test = array(1,2,3,4,5,6);
//show the array
print_r($test);
//seed the random number generator
mt_srand('123');
//generate a random number based on that
echo mt_rand();
echo "\n";
//shuffle the array
shuffle($test);
//show the results
print_r($test);
但它似乎没有用.有关最佳方法的任何想法吗?
这个问题围绕这个问题跳舞,但它已经过时了,没有人提供如何做到的实际答案:我可以通过提供种子随机化数组并获得相同的顺序吗?- "是的,但是怎么?
到目前为止,答案适用于PHP 5.1和5.3,但不适用于5.2.就是这样,我想运行它的机器正在使用5.2.
任何人都可以不使用mt_rand给出一个例子吗?它在php 5.2中被"破坏",因为它不会根据相同的种子给出相同的随机数序列.请参阅php mt_rand页面和错误跟踪器以了解此问题.