PHP 如何呈现唯一键?

问题描述

我想呈现这样的键或类似键,但我不希望“-”符号出现在开头。我现在的代码是指这个字符也可以在开头生成,我希望它永远不要在开头和结尾生成,而只能在结尾和开头的X字符之后的中间,其中X是边上的字符数

6LdBaA6aBxOAsj0AoTJ8rC-NbzpzAPgVaAz1bnAE

我的代码

// Generowanie Unique Key
if(!function_exists('genetateUniqueKey')){
    function genetateUniqueKey($length = 40){
        $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMnopQRSTUVWXYZ0987654321-'.time();
        $charactersLength = strlen($characters);
        $randomString = '';
        for($i = $length; $i > 0; $i--){
            $randomString .= $characters[rand(0,$charactersLength - 1)];
        }
        return $randomString;
    }
}

预先感谢您的帮助:)

解决方法

我正在对您的代码进行一些更改

字符串将根据 $length 中 privid 的值从两侧修剪

编辑: 对不起,我错误地给出了错误的代码。试试这个:

// Generowanie Unique Key
if (!function_exists('genetateUniqueKey')) {
    function genetateUniqueKey($length = 40)
    {
        $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0987654321';
        $randomString = str_shuffle($characters) . "-" . str_shuffle($characters);
        return substr($randomString,55,$length);
    }
}