实现随机函数 php
生成随机整数
使用 rand() 函数可以生成指定范围内的随机整数。该函数接受两个参数,分别表示最小值和最大值。若不传递参数,则返回 0 到 getrandmax() 之间的随机数。
$randomNumber = rand(1, 100); // 生成1到100之间的随机整数
生成更安全的随机整数
random_int() 是 PHP 7 引入的加密安全随机数生成器,适合对安全性要求较高的场景。它同样接受最小值和最大值作为参数。
$secureRandom = random_int(1, 100); // 加密安全的1-100随机整数
生成随机浮点数
mt_rand() 结合除法可生成随机浮点数。mt_rand() 比 rand() 速度更快且分布更均匀。

$randomFloat = mt_rand(0, 1000) / 10; // 生成0.0到100.0的随机浮点数
打乱数组顺序
shuffle() 函数能随机打乱数组元素的顺序,会直接修改原数组。如需保留原数组,可先复制一份再打乱。
$array = [1, 2, 3, 4, 5];
shuffle($array); // 数组顺序被随机打乱
从数组中随机选取元素
array_rand() 返回数组中的一个或多个随机键名。第二个参数指定要返回的键名数量,默认为1。

$items = ['apple', 'banana', 'cherry'];
$randomKey = array_rand($items); // 随机返回一个键名
$randomItem = $items[$randomKey];
生成随机字符串
结合 str_shuffle() 和 substr() 可创建随机字符串。str_shuffle() 随机打乱字符串字符顺序。
$characters = 'abcdefghijklmnopqrstuvwxyz';
$shuffled = str_shuffle($characters);
$randomString = substr($shuffled, 0, 5); // 获取前5个字符
使用随机种子
srand() 和 mt_srand() 可为随机数生成器设置种子值。相同的种子会产生相同的随机数序列,适合需要可重复随机结果的场景。
mt_srand(123); // 设置Mersenne Twister随机数生成器的种子
$repeatableRandom = mt_rand(); // 每次种子相同时结果相同






