jefhar / fisher-yates
A PHP implementation of the Fisher-Yates shuffle
1.0.1
2025-06-11 01:35 UTC
Requires
- php: ^8.2
- pds/skeleton: ^1.0
Requires (Dev)
- phpunit/phpunit: ^12.2
This package is auto-updated.
Last update: 2025-06-11 01:40:09 UTC
README
A PHP implementation of the Fisher-Yates shuffle
Installing
This requires a minimum version of PHP 8.2.
Use Composer:
composer require jefhar/fisher-yates
Usage
use Lmc\FisherYates\FisherYates; $itemsToShuffle = ['a', 'b', 'c', 'd', 'e']; $fy = new FisherYates($itemsToShuffle); $result = $fy->shuffle();
If you need a deterministic shuffle, you can send a seed to the shuffle
method:
use Lmc\FisherYates\FisherYates; $seed = 123_456_789; $itemsToShuffle = ['a', 'b', 'c', 'd', 'e']; $fy = new FisherYates($itemsToShuffle); var_dump($fy->shuffle($seed));
array(5) { [0]=> string(1) "d" [1]=> string(1) "a" [2]=> string(1) "b" [3]=> string(1) "e" [4]=> string(1) "c" }