PHP: 如何将 GUID 生成为 char 22?

PHP: How to generate a GUID as char 22?

我这样生成我的 GUID:

public static function getGUID(){
        if (function_exists('com_create_guid')){
            return com_create_guid();
        }
        else {
            mt_srand((double)microtime()*10000);//optional for php 4.2.0 and up.
            $charid = strtoupper(md5(uniqid(rand(), true)));
            $hyphen = chr(45);// "-"
            $uuid = substr($charid, 0, 8).$hyphen
            .substr($charid, 8, 4).$hyphen
            .substr($charid,12, 4).$hyphen
            .substr($charid,16, 4).$hyphen
            .substr($charid,20,12);
            return $uuid;
        }
    }

但是对于我正在使用的 API,我需要获取一个 GUID 作为 char 22。我该怎么做?

它应该是这样的:

051MWsLH7jMaiuTyaRbC80

22个字符的UUID称为XUID。查看如何从 UUID here 生成 XUID 的说明 还有一个 link 到 PHP 库来生成 XUID