相关疑难解决方法(0)

PHP中的随机浮点数介于0和1之间

如何在PHP中生成0到1之间的随机浮点数?

我正在寻找与Java相当的PHP Math.random().

php random

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

PHP相当于javascript Math.random()

我需要一个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.

javascript php random time

6
推荐指数
1
解决办法
1万
查看次数

简单算法模拟股市行为

我一直在使用PHP进行虚拟股票市场游戏.我用来决定股票价格的公式是

$price += $ran*0.001*$price + $ratio*0.005*$price
Run Code Online (Sandbox Code Playgroud)

哪里

$ran = rand(-1*$intensity, 2*$intensity)
Run Code Online (Sandbox Code Playgroud)

$ intensity是介于-5到5之间的数字,具体取决于新闻对公司的好坏

$ratio = (1.0*($buy-$sell))/($buy + $sell)
Run Code Online (Sandbox Code Playgroud)

$ buy和$ sell分别代表一家公司买卖的股票数量.

这个公式的问题在于,即使强度为负(甚至-5),比率项也总是加到使总体术语增加的价格上.价格每10秒更新一次,上面的公式会继续增加价格,永不降价.那么,任何人都可以帮我解决这个公式,使其与实际股票市场的关系更加密切吗?

simulation modeling stock

6
推荐指数
1
解决办法
5157
查看次数

生成PHP范围内的随机浮点数

我有一个代码,通过以下代码初始化骰子对象:

public function initializeDiceSides($totalSides, $fair, $maxProbability = 100) {
   $maxTemp = $maxProbability;
   $sides = array();

   for ($side = 0; $side < $totalSides; $side++) {
     //if we want fair dice just generate same probabilities for each side
     if ($fair === true) {
       $probability = number_format($maxProbability/$totalSides, 5);
     } else {
       //set probability to random number between 1 and half of $maxTemp
       $probability = number_format(mt_rand(1, $maxTemp/2), 5);

       //subtract probability of current side from maxtemp
       $maxTemp= $maxTemp- $probability;

       $sides[$side] = $probability;
     }
   }

   echo …
Run Code Online (Sandbox Code Playgroud)

php random

3
推荐指数
1
解决办法
6045
查看次数

标签 统计

php ×3

random ×3

javascript ×1

modeling ×1

simulation ×1

stock ×1

time ×1