PHP 趋向中间数的随机数使用的是高斯分布(正态分布)的概念,即以一个中心点为基准,随机生成的数值趋向于这个中心点,而离这个中心点越远,生成的概率越小。

具体实现方法是利用 PHP 中的 mt_rand() 函数生成两个随机数,然后将这两个随机数相加除以 2,即可得到一个趋向于这两个随机数中间数的随机数。

例如,生成 1 至 10 之间的趋向于 5 的随机数,可以使用以下代码:

$min = 1;
$max = 10;
$center = 5;

$rand1 = mt_rand($min, $max);
$rand2 = mt_rand($min, $max);

$random = ($rand1 + $rand2) / 2;

$random = round($random); //四舍五入取整

if ($random < $min) {
    $random = $min;
} elseif ($random > $max) {
    $random = $max;
}

echo $random;

该代码通过 mt_rand() 函数生成两个 1 至 10 的随机数,然后将这两个随机数相加除以 2 得到一个趋向于 5 的随机数,最后通过 round() 函数四舍五入取整保证结果在 1 至 10 之间

PHP 趋向中间数的随机数 解释原理

原文地址: https://www.cveoy.top/t/topic/fivx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录