rand() 函数返回一个随机整数。
rand() 使用与 mt_rand() 相同的随机数生成器(Mersenne Twister),因此生成的随机数质量更高。如需更好的随机性,推荐使用 mt_rand() 或 random_int()(加密安全)。
rand(): int
rand(int $min, int $max): int
| 参数 | 描述 |
|---|---|
min |
可选。规定返回的最小值(默认 0)。 |
max |
可选。规定返回的最大值(默认 getrandmax())。 |
返回 min 到 max 之间(包含)的随机整数。如果不带参数调用,则返回 0 到 getrandmax() 之间的随机整数。
<?php
echo rand() . "<br>";
echo rand() . "<br>";
?>
输出(示例):
123456
789012
<?php
// 生成 1 到 100 之间的随机数
echo rand(1, 100) . "<br>";
// 生成 -10 到 10 之间的随机数
echo rand(-10, 10) . "<br>";
?>
输出(示例):
42
-3
<?php
function generateCode($length = 6) {
$code = '';
for ($i = 0; $i < $length; $i++) {
$code .= rand(0, 9);
}
return $code;
}
echo "验证码: " . generateCode();
?>
输出(示例):
验证码: 482931
rand() 使用 libc 随机数生成器,其随机性和周期不如 mt_rand()。从 PHP 7.1 起,rand() 是 mt_rand() 的别名,因此推荐在新代码中使用 mt_rand() 或 random_int()。max 参数,rand() 返回 0 到 getrandmax() 之间的数。最大值取决于平台(通常为 32767 或 2147483647)。rand() 生成的随机数不适合加密安全场景,如需加密安全,请使用 random_int() 或 random_bytes()。srand() 设置随机数种子,以便重现相同的随机数序列(通常用于测试)。