tkjn / phprandom
There is no license information available for the latest version (v2.0.0) of this package.
Random data generation
v2.0.0
2017-02-21 18:26 UTC
Requires
- php: ^7.1
Requires (Dev)
This package is not auto-updated.
Last update: 2025-05-05 18:36:05 UTC
README
The purposes of this library are:
- Provide a self-contained seeded number generator object, which doesn't rely on global state for the seed
- Define interfaces for random data generation that can be type-hinted and are easy to mock when unit testing.
Installation
Require tkjn/phprandom
in composer.json
Usage
$random = new \Tkjn\Random\Integer\XorshiftStar(); // Generate random value between 10 and 100 (inclusive) $randomNumber = $random->rand(10, 100);
Multiple instances will maintain their own seed unlike the built-in php rand()
and mt_rand()
which are seeded globally
$random1 = new \Tkjn\Random\Integer\XorshiftStar(123); $random2 = new \Tkjn\Random\Integer\XorshiftStar(123); $random3 = new \Tkjn\Random\Integer\XorshiftStar(85874); var_dump($random1->rand(10, 90)); var_dump($random2->rand(10, 90)); var_dump($random3->rand(10, 90)); var_dump($random1->rand(10, 90)); var_dump($random2->rand(10, 90)); var_dump($random3->rand(10, 90));
Results in
int(59)
int(59)
int(13)
int(84)
int(84)
int(15)