相关疑难解决方法(0)

使用种子随机化PHP数组?

我正在寻找一个函数,我可以在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页面错误跟踪器以了解此问题.

php arrays random seed

34
推荐指数
3
解决办法
2万
查看次数

标签 统计

arrays ×1

php ×1

random ×1

seed ×1