开发卡牌游戏或者匹配游戏等等,需要重新洗牌或重新更换位置,这就需要清洗数据。那么就以最常见的扑克牌为例,来一个数据随机化算法。
直接上代码:
function new_rand($arr){
$len=count($arr);
$new_arr=[];
for($i=0;$i<$len;$i++){
$new_arr[mt_rand()]=$arr[$i];
}
ksort($new_arr);
return array_values($new_arr);
}
$arr=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,
17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,
33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,
49,50,51,52,53,54];
echo "原始结果".PHP_EOL;
print_r(json_encode($arr));
$get_arr=new_rand($arr);
echo PHP_EOL."最终结果".PHP_EOL;
print_r(json_encode($get_arr));
最终结果如图:
本文作者:
艾瑞可erik
本文链接: https://erik.xyz/2024/03/19/randomization/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
本文链接: https://erik.xyz/2024/03/19/randomization/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!