PHP 生成大写字母和数字组合不重复随机数代码
PHP 怎么生成大写字母和数字组合不重复随机数呢?首先定义了包含大写字母和数字的字符串变量$letters和$numbers,以及所需的长度$length和数字的数量$numbersCount。
然后,通过调用generateRandomString()函数生成一个由大写字母和数字组成的随机字符串。在循环中,不断生成随机字符串,并检查是否已经生成过,如果没有则将其添加到结果数组$results中。最后,使用循环遍历结果数组并打印每个随机数。
代码如下:
<?php
$letters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$numbers = '123456789';
$length = 9;
$numbersCount = 1;
$results = [];
// 生成一个由大写字母和数字组成的随机字符串
function generateRandomString($letters, $numbers, $length, $numbersCount) {
$str = '';
$allLetters = str_repeat($letters, $length);
$allNumbers = str_repeat($numbers, $numbersCount);
$allCharacters = $allLetters . $allNumbers;
shuffle($allCharacters);
for ($i = 0; $i < $length; $i++) {
$str .= $allCharacters[$i];
}
return $str;
}
// 生成100个不重复的随机数
while (count($results) < 100) {
$randomString = generateRandomString($letters, $numbers, $length, $numbersCount);
if (!in_array($randomString, $results)) {
$results[] = $randomString;
}
}
// 打印生成的随机数
foreach ($results as $result) {
echo $result . "\n";
}
?>