>  기사  >  백엔드 개발  >  PHP는 고유 ID를 생성합니다

PHP는 고유 ID를 생성합니다

(*-*)浩
(*-*)浩원래의
2019-09-27 10:13:122583검색

고유하고 중복되지 않는 식별자를 생성하기 위해 우리는 주로 현재 시간을 사용한 다음 이를 md5 값으로 변환합니다. 이는 레이블의 고유성을 거의 보장할 수 있습니다. 다음은 PHP에서 중복되지 않는 식별자를 생성하기 위한 일부 프로그램 코드입니다.

PHP는 고유 ID를 생성합니다

php 내장 함수 uniqid()


uniqid() 함수는 마이크로초 단위의 현재 시간을 기준으로 고유 ID를 생성합니다

(권장 학습: PHP 프로그래밍 입문부터 숙련까지)w3school reference 매뉴얼에는 다음과 같은 문장이 있습니다. "시스템 시간을 기준으로 하기 때문에 이 함수로 생성된 ID는 최적이 아닙니다. 절대적으로 고유한 ID를 생성해야 하는 경우 md5() 함수를 사용하십시오."

다음 메서드는 비슷한 결과를 반환합니다. 5DDB650F-4389-F4A9-A100-501EF1348872

function uuid() {
    if (function_exists ( 'com_create_guid' )) {
        return com_create_guid ();
    } else {
        mt_srand ( ( double ) microtime () * 10000 ); //optional for php 4.2.0 and up.随便数播种,4.2.0以后不需要了。
        $charid = strtoupper ( md5 ( uniqid ( rand (), true ) ) ); //根据当前时间(微秒计)生成唯一id.
        $hyphen = chr ( 45 ); // "-"
        $uuid = '' . //chr(123)// "{"
substr ( $charid, 0, 8 ) . $hyphen . substr ( $charid, 8, 4 ) . $hyphen . substr ( $charid, 12, 4 ) . $hyphen . substr ( $charid, 16, 4 ) . $hyphen . substr ( $charid, 20, 12 );
        //.chr(125);// "}"
        return $uuid;
    }
}

Globally Unique Identifier(GUID)를 생성하는 PHP 메서드

GUID는 공간과 시간에서 고유하므로 동시에 생산되는 숫자는 장소에 따라 다릅니다. 전 세계에서 두 대의 컴퓨터가 중복된 GUID 값을 생성하지 않습니다.

GUID가 필요한 경우 알고리즘에 의해 완전히 자동으로 생성될 수 있으며 이를 관리하기 위해 권위 있는 조직이 필요하지 않습니다.

GUID는 길이가 고정되어 있고 상대적으로 짧아서 분류, 식별, 보관에 매우 적합합니다.

아아아아

위 내용은 PHP는 고유 ID를 생성합니다의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.