통합검색

PHP

[PHP] microtime과 랜덤 문자를 조합하여 중복되지 않는 PK 문자 만들기

  • 2023.03.16 17:43:27


microtime() 과 랜덤 글자 조합하여 중복되지 않는 Primary Key 문자를 생성하는 함수.
함수의 인자 값으로 원하는 길이를 넘기면 랜덤 문자열과 microtime()을 조합 후, 다시 str_shuffle()로 무작위로 섞은 결과 문자열을 return 해준다.
($length는 최소 30자 이상 설정 가능)


[!]Primary Key 생성 함수[/!] 
 
function make_random_char($length = 30)
    {
        $length = ($length < 30) ? 30 : $length;
        $length = $length - 19;

        $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
        $randomString = '';
        $max = strlen($characters) - 1;

        for ($i = 0; $i < $length; $i++) {
            $randomString .= $characters[mt_rand(0, $max)];
        }

        $microtime = str_replace(array(' ', '.'), array('', ''), microtime());
        
        return str_shuffle($randomString.$microtime); // 문자열을 다시 무작위로 섞음
    }


[!]결과 예시[/!] 
4q344nM250001GS69e2y2X61198mT1