开发一款扑克游戏,请给出一套洗牌算法,公平的洗牌并将洗好的牌存储在一个整形数组里

$cardNum = 54;//牌数
function wash_card($cardNum){
   $cards = array();
   $tmp = array();
   for($i = 0; $i < $cardNum; $i++){
      $tmp[$i] = $i;
   }
   
   for ($i = 0; $i < $cardNum; $i++) {
       $index = mt_rand(0, $cardNum - $i - 1);
       $cards[$i] = $tmp[$index];
       unset($tmp[$index]);
       $tmp = array_values($tmp);
   }
   return $cards;
}
wash_card($cardNum);

点赞