Php 如何在伪造者之间使用BiasedNumber?
我试图得到一个介于1到6之间的数字,有更多的机会接近1 我试过这个:Php 如何在伪造者之间使用BiasedNumber?,php,faker,Php,Faker,我试图得到一个介于1到6之间的数字,有更多的机会接近1 我试过这个: <li>{{Faker\Factory::create()->biasedNumberBetween($min = 10, $max = 20, $function = 'unbiased')}}</li> {{Faker\Factory::create()->biasedNumberBetween($min=10,$max=20,$function='unbiased')} 我想做的是生成一
<li>{{Faker\Factory::create()->biasedNumberBetween($min = 10, $max = 20, $function = 'unbiased')}}</li>
{{Faker\Factory::create()->biasedNumberBetween($min=10,$max=20,$function='unbiased')}
我想做的是生成一个从1到6的数字rand(1,6)代码>但要使数字更接近一,因为较低的数字比其他数字的权重更大。像这样的吗
<?php
function weightedRand($min, $max, $weightedMax) {
$arr = array();
for($i = 0; $i < 10; $i++) {
$arr[] = rand($min, $weightedMax);
}
$arr[] = rand($min, $max);
return $arr[rand(0,10)];
}
echo weightedRand(1,6, 3);
?>
低于4的数字现在比高于4的数字更有可能:)我使用了以下代码:$faker=faker\Factory::create()$faker->biasedNumberBetween($min=1,$max=6,$function='faker\Provider\Biased::linearLow');