An elegant way to return random float between two numbers:
<?php
function random_float ($min,$max) {
return ($min+lcg_value()*(abs($max-$min)));
}
?>
(PHP 4, PHP 5, PHP 7, PHP 8)
lcg_value — Kongruenzgenerator für Pseudozufallszahlen
lcg_value() gibt eine Pseudozufallszahl zwischen Null und Eins (inklusive) zurück. Die Funktion kombiniert zwei gemischte kongruente Kongruenzgeneratoren mit den Perioden 2^31 - 85 und 2^31 - 249. Die Periode der von dieser Funktion generierten Pseudozufallsfolge entspricht dem Produkt dieser beiden Primzahlen.
Diese Funktion erzeugt keine kryptografisch sicheren Werte und sollte nicht für kryptografische Zwecke verwendet werden. Wenn kryptografisch sichere Werte benötigt werden, sollten stattdessen die Funktionen random_int(), random_bytes() oder openssl_random_pseudo_bytes() verwendet werden.
Eine Pseudozufallszahl zwischen 0.0 und 1.0 (inklusive) als float.
An elegant way to return random float between two numbers:
<?php
function random_float ($min,$max) {
return ($min+lcg_value()*(abs($max-$min)));
}
?>
Choose your weapon:
<?php
function mt_randf($min, $max)
{
return $min + abs($max - $min) * mt_rand(0, mt_getrandmax())/mt_getrandmax();
}
function lcg_randf($min, $max)
{
return $min + lcg_value() * abs($max - $min);
}
function randf($min, $max)
{
return $min + rand(0,getrandmax()) / getrandmax() * abs($max - $min);
}?>