antikirra / array-shuffle
1.0.0
2023-05-24 13:17 UTC
Requires
- php: ^5.6 || ^7.0 || ^8.0
README
使用任何事物的数值表示(无论是客户端的IP地址、格式为YYYYMMDD的日期,还是唯一的用户标识符),您可以生成一个以伪随机方式排序的确定性数据数组。这可以用于实施商业任务和编写测试。
当使用关联数组、深度嵌套数组或包含对象的数组时请谨慎。此库的实现不能保证在所有提及的情况下都能产生可预测的结果。特别关注实现的简单性和数据处理速度。
安装
composer require antikirra/array-shuffle
基本用法
<?php require __DIR__ . '/vendor/autoload.php'; // only if the function has not been defined in the global scope array_shuffle($array, 100500); // if the function could not be defined globally \Antikirra\array_shuffle($array, 100500); // under the hood \Antikirra\ArrayShuffle\ArrayShuffle::shuffle($array, 100500);
演示
<?php require __DIR__ . '/vendor/autoload.php'; $array = [0, 2, 6, 1, 8, 9, 5, 4, 3, 7]; $seed = 100500; $array1 = array_shuffle($array, $seed); print_r($array1); // [1, 2, 4, 7, 8, 6, 5, 3, 9, 0] $array2 = $array1; for ($i = 0; $i < $seed; $i++) { shuffle($array2); } $array3 = array_shuffle($array2, $seed); print_r($array3); // [1, 2, 4, 7, 8, 6, 5, 3, 9, 0] var_dump($array1 === $array3); // true