smoren / probability-selector
概率选择器
v2.1.0
2023-02-28 07:37 UTC
Requires
- php: >=7.4
- ext-json: *
- ext-mbstring: *
Requires (Dev)
- codeception/codeception: ^4.2.1
- codeception/module-asserts: ^2.0
- php-coveralls/php-coveralls: ^2.0
- phpstan/phpstan: ^1.8
- squizlabs/php_codesniffer: 3.*
This package is auto-updated.
Last update: 2024-08-28 10:54:39 UTC
README
基于选择均匀分布的数据源选择下一个元素使用的选择管理器。
无限迭代
use Smoren\ProbabilitySelector\ProbabilitySelector; $ps = new ProbabilitySelector([ // data // weight // initial usage counter ['first', 1, 0], ['second', 2, 0], ['third', 3, 4], ]); foreach ($ps as $datum) { echo "{$datum}, "; } // second, second, first, second, third, third, second, first, third, second, third, third, second, first, third, ...
迭代限制和导出
use Smoren\ProbabilitySelector\ProbabilitySelector; $ps = new ProbabilitySelector([ // data // weight ['first', 1], ['second', 2], ]); foreach ($ps->getIterator(6) as $datum) { echo "{$datum}, "; } // second, second, first, second, second, first print_r($ps->export()); /* [ ['first', 1, 2], ['second', 2, 4], ] */
单次决策
use Smoren\ProbabilitySelector\ProbabilitySelector; $ps = new ProbabilitySelector([ // data // weight ['first', 1], ['second', 2], ]); $ps->decide(); // second $ps->decide(); // second $ps->decide(); // first
单元测试
composer install
composer test-init
composer test
标准
PHP概率选择器符合以下标准
许可证
PHP概率选择器采用MIT许可证。