tkjn/phprandom

此包的最新版本(v2.0.0)没有可用的许可信息。

随机数据生成

v2.0.0 2017-02-21 18:26 UTC

This package is not auto-updated.

Last update: 2024-09-23 15:53:48 UTC


README

Build Status

此库的目的包括

  • 提供一个自包含的种子数字生成器对象,该对象不依赖于全局状态来生成种子
  • 定义随机数据生成的接口,这些接口可以进行类型提示,并且在单元测试中易于模拟。

安装

在 composer.json 中需要 tkjn/phprandom

使用方法

$random = new \Tkjn\Random\Integer\XorshiftStar();

// Generate random value between 10 and 100 (inclusive)
$randomNumber = $random->rand(10, 100);

多个实例将维护自己的种子,而与内置的 php rand()mt_rand() 不同,它们在全局范围内进行种子生成

$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));

结果如下

int(59)
int(59)
int(13)

int(84)
int(84)
int(15)