//洗牌程序
function wash_cards(){
$cards_no=54;
//扑克牌初始化
$hua=array('@','#','$','%');//分别代表‘桃心梅方’
$cards=array(array(),array(),array(),array());
foreach($cards as $key=>$value){
for($i=1;$i<=13;$i++){
$cards[$key][]=$hua[$key].$i;
}
}
$cards[4]=array('s_joker','b_joker');//分别代表大王小王
//每次从每个花色中随机取出几张
$result=array();
while($cards_no>0){
//确定$n的范围,代表从哪个花色里面取
$max1=count($cards)-1;
$n=rand(0,$max1);
//确定$m的范围,代表从该花色中取第几张
$max=count($cards[$n])-1;
//如果该花色中已经没牌,则将该花色从数组中删除
if($max==-1){
array_splice($cards,$n,1);
}else{
//取出该花色中的第m张牌,并将该牌从该花色的数组中删除
$m=rand(0,$max);
$result[]=$cards[$n][$m];
array_splice($cards[$n],$m,1);
$cards_no--;
}
}
return $result;
}
//洗牌程序二
function wash_card(){
$card_no=54;
$cards=array();
for($i=0;$i
if($i<=12){
$cards[]='tao'.($i+1);
}elseif($i>12&&$i<=25){
$cards[]='xin'.($i-12);
}elseif($i>25&&$i<=38){
$cards[]='mei'.($i-25);
}elseif($i>38&&$i<=51){
$cards[]='fang'.($i-38);
}elseif($i==52){
$cards[]='s_joker';
}elseif($i==53){
$cards[]='b_joker';
}
}
//将数组元素直接打乱
shuffle($cards);
return $cards;
}
$arr=wash_card();
echo"
";
var_dump($arr);
$arr2=wash_cards();
var_dump($arr2);