【PHP】PHP生成唯一ID

小破孩
2022-06-19 / 0 评论 / 193 阅读 / 正在检测是否收录...
    <?php
    header("Content-Type: text/html; charset=UTF-8");
    date_default_timezone_set("PRC");
    // error_reporting(0);
    
    // 生成ID:Unix时间戳+毫秒+微妙+四位随机数字(20位数字,2028/06/15 前可存入MySQL,数据类型:BIGINT)
    $id = microtime();
    $id = substr($id, 11) . substr($id, 2, 6) . mt_rand(1000, 9999);



  //循环里面可用
    public function setUUID(){
        $currentTimestamp = microtime(true);

        $uuid = self::generateUUIDInner();
        while (in_array($uuid, self::$generatedUUIDs)) {
            $uuid = self::generateUUIDInner();
        }
        self::$generatedUUIDs[] = $uuid;
        self::$lastTimestamp = $currentTimestamp;

        return $uuid;

    }

    private static function generateUUIDInner() {
        $milliseconds = floor(microtime(true) * 1000);
        $randomPart = mt_rand(100, 999);
        $uuid = date('YmdHis').substr(strval($milliseconds), -3).$randomPart;
        return $uuid;
        echo "Generated UUID inside: ".$uuid."\n";
        die;
    }
    
0

评论

博主关闭了所有页面的评论