文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

PHP生成随机数汇总

2023-09-03 07:53

关注

PHP生成32位随机数

function genToken( $len = 32, $md5 = true ) {          mt_srand( (double)microtime()*1000000 );          $chars = array(              'Q', '@', '8', 'y', '%', '^', '5', 'Z', '(', 'G', '_', 'O', '`',              'S', '-', 'N', '<', 'D', '{', '}', '[', ']', 'h', ';', 'W', '.',              '/', '|', ':', '1', 'E', 'L', '4', '&', '6', '7', '#', '9', 'a',              'A', 'b', 'B', '~', 'C', 'd', '>', 'e', '2', 'f', 'P', 'g', ')',              '?', 'H', 'i', 'X', 'U', 'J', 'k', 'r', 'l', '3', 't', 'M', 'n',              '=', 'o', '+', 'p', 'F', 'q', '!', 'K', 'R', 's', 'c', 'm', 'T',              'v', 'j', 'u', 'V', 'w', ',', 'x', 'I', '$', 'Y', 'z', '*'          );          $numChars = count($chars) - 1; $token = '';          for ( $i=0; $i<$len; $i++ )              $token .= $chars[ mt_rand(0, $numChars) ];          if ( $md5 ) {              $chunks = ceil( strlen($token) / 32 ); $md5token = '';              for ( $i=1; $i<=$chunks; $i++ )                  $md5token .= md5( substr($token, $i * 32 - 32, 32) );              $token = substr($md5token, 0, $len);          } return $token;      }echo genToken();

php生成指定长度的随机数

  function get_random($len=3){    //range 是将10到99列成一个数组     $numbers = range (10,99);    //shuffle 将数组顺序随即打乱     shuffle ($numbers);     //取值起始位置随机    $start = mt_rand(1,10);    //取从指定定位置开始的若干数    $result = array_slice($numbers,$start,$len);     $random = "";    for ($i=0;$i<$len;$i++){        $random = $random.$result[$i];     }      return $random;   }    //随机数  function get_random2($length = 4) {      $min = pow(10 , ($length - 1));      $max = pow(10, $length) - 1;      return mt_rand($min, $max);  }    echo "
"
; echo get_random(3); echo "
"
; echo get_random2(6);

php生成随机密码

在 33 – 126 中生成一个随机整数,如 35,
2、将 35 转换成对应的ASCII码字符 #
3、重复以上 1、2 步骤 n 次,连接成 n 位的密码

function create_password($pw_length = 8){$randpwd = '';for ($i = 0; $i < $pw_length; $i++){$randpwd .= chr(mt_rand(33, 126));}return $randpwd;}// 调用该函数,传递长度参数$pw_length = 6echo create_password(6);

预置一个的字符串 $chars ,包括 a – z,A – Z,0 – 9,以及一些特殊字符
2、在 $chars 字符串中随机取一个字符
3、重复第二步 n 次,可得长度为 n 的密码

function generate_password( $length = 8 ) {// 密码字符集,可任意添加你需要的字符$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()-_ []{}<>~`+=,.;:/?|';$password = '';for ( $i = 0; $i < $length; $i++ ){// 这里提供两种字符获取方式// 第一种是使用 substr 截取$chars中的任意一位字符;// 第二种是取字符数组 $chars 的任意元素// $password .= substr($chars, mt_rand(0, strlen($chars) - 1), 1);$password .= $chars[ mt_rand(0, strlen($chars) - 1) ];}return $password;}echo generate_password();

php获取四位字母和数字的随机数

function GetfourStr($len) {   $chars_array = array(     "0", "1", "2", "3", "4", "5", "6", "7", "8", "9",    "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k",     "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v",     "w", "x", "y", "z", "A", "B", "C", "D", "E", "F", "G",     "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R",     "S", "T", "U", "V", "W", "X", "Y", "Z",   );   $charsLen = count($chars_array) - 1;    $outputstr = "";   for ($i=0; $i<$len; $i++)   {     $outputstr .= $chars_array[mt_rand(0, $charsLen)];   }   return $outputstr; } echo GetfourStr(4);

用php成n个随机数,要求n个数的和等于自定义数值

$rand_array = array();function  get_rand_n($rand_array) {    $num = 200;//数字自定义    $rand_number = mt_rand(1,10);//范围自定义    if(empty($rand_array)) {        $rand_array[] = $rand_number;        return get_rand_n($rand_array);    } else {        $count = 0;        foreach($rand_array as $item) {            $count += $item;        }        if($count < $num) {            if($count+$rand_number == $num) {                $rand_array[] = $rand_number;                return $rand_array;            } else if($count+$rand_number < $num) {                $rand_array[] = $rand_number;                return get_rand_n($rand_array); // 回掉再次计算            } else { // 如果得到的值大于了100                return get_rand_n($rand_array); // 重新获得随机数,知道为100的时候返回这个随机数数组            }        }    }}$rand_array = get_rand_n($rand_array);var_dump($rand_array);

来源地址:https://blog.csdn.net/sinat_37812248/article/details/126286766

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯