probability-selector-php
README.md
PHP Probability Selector
Selection manager for choosing next elements to use from data source based on uniform distribution of selections.
Infinite iteration
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, ...
Iteration limit and export
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],] */
Single decision
use Smoren\ProbabilitySelector\ProbabilitySelector;
$ps = new ProbabilitySelector([ // data // weight ['first', 1], ['second', 2],]);$ps->decide(); // second$ps->decide(); // second$ps->decide(); // first
Unit testing
composer install
composer test-init
composer test
Standards
PHP Probability Selector conforms to the following standards:
- PSR-1 — Basic coding standard
- PSR-4 — Autoloader
- PSR-12 — Extended coding style guide
License
PHP Probability Selector is licensed under the MIT License.
Описание
Selection manager for the next element from data source based on uniform distribution of selections
Языки
PHP