当前位置:Gxlcms > PHP教程 > 新人怎么生成不重复的4位数字

新人怎么生成不重复的4位数字

时间:2021-07-01 10:21:17 帮助过:10人阅读

新人求助 如何生成不重复的4位数字
//随即生成四位数
function sc(){
for($i=0;$i<4;$i++){
$ygsz=rand(0,9);
$sgesz.=$ygsz;
}
for($a=0;$a<3;$a++){
if($sgesz[$a]==$sgesz[$a+1]){
$vv=sc();
}



}
return $sgesz;
}
$zqsz=sc();





?>
怎么改呢

------解决方案--------------------
PHP code
function sc() {
    $ar = array();
    for ($i = 0; $i < 4; $i ++) {
        $r = rand(0, 9);
        while(in_array($r, $ar)) $r = rand(0, 9);
        array_push($ar, $r);
    }
    return implode('', $ar);
}
echo sc();

------解决方案--------------------
PHP code

 $arr = Array('0','1','2','3','4','5','6','7','8','9');//定义数组
 shuffle($arr);//打乱元素顺序
 $rand = array_slice($arr,0,4);//取前四个元素

 $result=implode('',$rand);//转成字符串
 echo $result;                     

人气教程排行