Generate Random Floating-Point Number using Randomizer Class in PHP 8.3

Generate Random Floating-Point Number using Randomizer Class in PHP 8.3

A random floating-point number is a value produced by a generator, with an unpredictable result and lacking any visible pattern. PHP offers a Randomizer class to generate random values. Starting from PHP 8.3, this class includes new methods: nextFloat and getFloat. The nextFloat method produces a random floating-point number within the range [0.0, 1.0). On the other hand, the getFloat method generates a random floating-point number within specified minimum and maximum boundaries.

<?php

use Random\IntervalBoundary;
use Random\Randomizer;

$rnd = new Randomizer();

echo $rnd->nextFloat().PHP_EOL; // [0.0, 1.0)
echo $rnd->getFloat(0.5, 2.5).PHP_EOL; // [0.5, 2.5)
echo $rnd->getFloat(0.5, 2.5, IntervalBoundary::ClosedClosed).PHP_EOL; // [0.5, 2.5]

The getFloat method takes an IntervalBoundary as its third parameter to specify whether the minimum and maximum values should be inclusive or not.

  • IntervalBoundary::ClosedOpen - minimum value may be included, maximum may not (default).
  • IntervalBoundary::ClosedClosed - both minimum and maximum values may be included.
  • IntervalBoundary::OpenClosed - minimum value may not be included, maximum may.
  • IntervalBoundary::OpenOpen - neither minimum nor maximum value may be included.

The nextFloat method is essentially equivalent to getFloat(0, 1, IntervalBoundary::ClosedOpen). However, the internal implementation of nextFloat is more efficient.

Leave a Comment

Cancel reply

Your email address will not be published.