代码如下:
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 | <?php /** * 简单洗牌算法 * edit www.jb200.com * at 2013/6/19 */ $card_num=54; //牌数 print_r(wash_card($card_num)); function wash_card($card_num) { $cards=$tmp=array(); for ($i=0;$i<$card_num;$i++){ $tmp[$i]=$i; } for ($i=0;$i<$card_num;$i++){ $index=rand(0,$card_num-$i-1); $cards[$i]=$tmp[$index]; unset($tmp[$index]); $tmp=array_values($tmp); } return $cards; } ?> |
挺简单的一段代码,主要是帮助大家理解洗牌算法,希望对您有所帮助。