我正在管理一个函数,该函数可以改变数字的 range_pool ,并在它们之间设置小数点。我想找到一个解决方案,确保这些数字在函数出口处生成时不会重复(创建重复项)。
`function random($min, $max, $range_pool) {
$decimals = 4;
$collect_range_pool = array();
for ($i = 0; $i < $range_pool; $i++)
{
$random_number = mt_rand() / mt_getrandmax();
$range = $max - $min;
$random_decimal = $min + $random_number * $range;
$random_decimal = round($random_decimal, $decimals);
$collect_range_pool[] = $random_decimal;
}
return $collect_range_pool;
}
$generated = random(4.0008, 4.1008, 20);
foreach ($generated as $number)
{
echo $number . '<br>';
}`
我希望这个号码永远不会重复。
使用
array_unique()
:
$generated = array_unique(random(4.0008, 4.1008, 20));