我想生成6位随机数并检查它是否在表中,如果存在,则生成另一个6位随机号并再次检查,以此类推。。编写的代码如下,
$querySel1=mysqli_query($connect, "select dynamic_email_id from logis_contacts");
while($row = mysqli_fetch_row($querySel1)){
$dynamic_id[] = $row[0];
}
$number = mt_rand( 100000, 999999);
dynamicEmailId($number, $dynamic_id);
function dynamicEmailId($number, $dynamic_id){
if( in_array($number, $dynamic_id) ){
$new = mt_rand( 100000, 999999);
dynamicEmailId($new, $dynamic_id);// here i am confused
}
else {
echo $number;
}
}
请建议一种更好的方法来实现这个
*没关系,请检查
function generateUniqueId($number,$fetchArray) {
if (!in_array($number,$fetchArray)) {
return $number;
}
else {
$newNumber = mt_rand( 100000, 999999);
return generateUniqueId($newNumber, $fetchArray);
}
}