davidgorges / php-biased-random
dev-master
2014-07-12 01:35 UTC
Requires
- php: >=5.3.3
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is auto-updated.
Last update: 2020-01-06 03:39:29 UTC
README
Get random elements based on probabilty
How to Use
$randomizer = new Randomizer();
$randomizer->add( new Element('Banana', 70))
->add( new Element('Apple', 30));
$randomFruit = $randomizer->get(); // Chance of Banana is 70%
Calculate Probability
In some cases, you want to add multiple items and retrieve the probabilty of an item.
$randomizer = new Randomizer();
$randomizer->add( new Element('Banana', 2))
->add( new Element('Apple', 1))
->add( new Element('Banana', 2));
$probability = $randomizer->getProbabilityFor('Banana');
echo $probability; // outputs 0.8
Shorthand methods
You don't need to create Element wrapper objects. You can just add your elements to the Randomizer:
$randomizer = new Randomizer();
$randomizer->add('banana')->add('apple');
// with weight
$randomizer->add('banana', 10)->add('apple', 5);
Note: If you add multiple identical items, they will be combined into a single element with adjusted weight.