随机函数及应用

随机函数及应用

  1. rand 产生一个随机整数

    echo rand(1, 100); // 生成一个 1-100 之间的随机数
    
  2. uniqid 生成一个唯一ID

    echo uniqid();
    echo uniqid('prefix', true);
    echo uniqid('', true);
    
    /*
    string uniqid ( [ string $prefix = "" [, bool $more_entropy = false ]] )
    获取一个带前缀、基于当前时间微秒数的唯一ID。
    
    $more_entropy 设置为true 会提高唯一性。
    prefix为空,则返回的字符串长度为13。more_entropy 为 TRUE,则返回的字符串长度为23。
    */
    
  3. 概率计算

    // 计算10%的概率
    if( rand(1,100) <= 10 ) echo "10%";
    
    // 计算任意概率
    $rate = 0.123; // 0-1之间的小数
    $max = pow(10, strlen($rate)-2);
    
    if( rand(1, $max) <= $rate*$max ) {
        echo $rate;
    }
    
  4. 生成一个由数字字母组成,指定长度的字符串

    $len = 10;
    $str = '';
    for($i = 0; $i < $len; $i++) {
        $str .= rand(0, 35) < 10 ? chr(rand(48, 57)) : chr(rand(65, 90));
    }
    echo $str;
    
    // chr 将一个ASCII码转换为字符串,ASCII 48-57 对应0-9,65-90对应大写A-Z
    
  5. 生成一个唯一字符串ID,带服务器IP和用户IP信息

    function createUniqid() {
        $serverIp = isset($_SERVER['SERVER_ADDR']) ? $_SERVER['SERVER_ADDR'] : '127.0.0.1'; // 获取服务器IP
        $userIp = isset($_SERVER['REMOAT_ADDR']) ? $_SERVER['REMOAT_ADDR'] : '127.0.0.1'; // 获取用户端IP
        // 将IP转换为字符串
        $serverIp = base_convert(ip2long($serverIp), 10, 36);
        $userIp = base_convert(ip2long($userIp), 10, 36);
        // 生成一个 uniqid,去掉里面的'.',然后用进制转换为字符串
        $uniqid = uniqid('', true);
        $uniqid = base_convert(str_replace('.', '', $uniqid), 16, 36);
    
        return $serverIp.'-'.$userIp.'-'.$uniqid;
    }
    echo createUniqid();
    
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,335评论 0 10
  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 10,314评论 0 11
  • 总结了一些开发中常用的函数: usleep() //函数延迟代码执行若干微秒。 unpack() //函数从二进制...
    ADL2022阅读 3,414评论 0 3
  • 把当前目录作为Root Document只需要这条命令即可:php -S localhost:3300 也可以指定...
    绚烂的时光阅读 4,119评论 0 1
  • PHP常用函数大全 usleep() 函数延迟代码执行若干微秒。 unpack() 函数从二进制字符串对数据进行解...
    上街买菜丶迷倒老太阅读 5,274评论 0 20

友情链接更多精彩内容