PHP相当于javascript Math.random()

Mat*_*ski 6 javascript php random time

我需要一个PHP函数,生成与javascript Math.random()相同的种子相同的随机数.

关于math.random()的MDN:

随机数生成器从当前时间播种,如在Java中.

到目前为止我尝试了PHP的rand()生成类似的东西:

srand( time() ); // I use time as seed, like javascript does
echo rand();
Output: 827382
Run Code Online (Sandbox Code Playgroud)

并且javascript似乎以自己的方式生成随机数:

Math.random(); Output: 0.802392144203139
Run Code Online (Sandbox Code Playgroud)

我需要与math.random()等效的PHP代码,而不是新的javascript代码.我无法改变javascript.

thi*_*aga 11

您可以使用返回值的函数:

PHP

function random() {
  return (float)rand()/(float)getrandmax();
}

// Generates
// 0.85552537614063
// 0.23554185613575
// 0.025269325846126
// 0.016418958098086
Run Code Online (Sandbox Code Playgroud)


JavaScript的

var random = function () {
  return Math.random();
};

// Generates
// 0.6855146484449506
// 0.910828611580655
// 0.46277225855737925
// 0.6367355801630765
Run Code Online (Sandbox Code Playgroud)

@elclanrs解决方案更容易,不需要演员回报.


更新

关于PHP mt_rand()rand()这里之间的区别有一个很好的问题:
mt_rand的缺点是什么?