代码如下:,
<?php
// sort array in a fixed order with given seed
function do_shuffle( $array, $seed ) {
mt_srand( $seed );
usort( $array, fn() => mt_rand( - 9, 9 ) );
return $array;
}
// the reverse operation of do_shuffle
function undo_shuffle( $array, $seed ) {
return $array; // to implement
}
$origin_array = str_split( 'olive tree' );
$seed = 20220502;
$shuffled_array = do_shuffle( $origin_array, $seed );
var_dump( $shuffled_array );
// undo shuffle
$origin_array = undo_shuffle( $shuffled_array, $seed );
var_dump( $origin_array );
如何实现数组洗牌及其反向操作?
如何将$shuffled_数组返回到$origin_数组?