|  Download PHP Probability Selector        
 Selection manager for choosing next elements to use from data source based on uniform distribution of selections. Infinite iterationuse 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 exportuse 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 decisionuse Smoren\ProbabilitySelector\ProbabilitySelector;
$ps = new ProbabilitySelector([
    // data     // weight
    ['first',   1],
    ['second',  2],
]);
$ps->decide(); // second
$ps->decide(); // second
$ps->decide(); // first
 Unit testingcomposer install
composer test-init
composer test
 StandardsPHP Probability Selector conforms to the following standards: LicensePHP Probability Selector is licensed under the MIT License. |