>  기사  >  php教程  >  PHP uniqid 함수를 사용하여 고유 ID 생성

PHP uniqid 함수를 사용하여 고유 ID 생성

高洛峰
高洛峰원래의
2016-12-28 15:32:221877검색

고유 ID를 생성하는 애플리케이션 시나리오는 임시 캐시 파일 이름, 임시 변수, 임시 보안 코드 등 매우 일반적입니다. uniqid() 함수는 마이크로초 단위의 현재 시간을 기준으로 고유 ID를 생성합니다. 고유 ID 생성은 마이크로초 시간에 묶여 있으므로 ID의 고유성은 매우 안정적입니다.

생성된 고유 ID는 기본적으로 13개의 문자열을 반환합니다. 고유 ID의 접두사가 정의되지 않은 경우 md5(와 결합하면 최대 23개의 문자열을 반환할 수 있습니다. ) 기능을 사용하면 생성된 고유 ID의 신뢰성이 높아집니다. 이 생성된 ID의 가장 큰 장점은 특히 데이터베이스에 저장해야 하는 일부 값에 대해 정렬이 가능하다는 것입니다.

1. 함수 프로토타입

string uniqid ( [string prefix [, bool more_entropy]] )

고유 ID의 접두사와 길이를 정의할 수 있습니다

버전 호환

PHP 3 , PHP 4, PHP 5

3, 기본 사용법 및 기능 예시

1, 고유 ID 생성

<?php
echo uniqid();
?>

2. md5() 함수를 결합하여 고유 ID 생성

<?php
echo md5(uniqid());
?>

출력: dfbc5c8c6438de075da28b3c8a413fd0

3, 여러 생성 고유 ID, 마이크로초 단위로 측정

<?php
echo uniqid();
echo uniqid();
echo uniqid();
?>

🎜>

생성된 결과로 판단하면 고유 ID가 정렬 가능합니다.

uniqid() 함수를 사용하여 고유 ID를 생성하면 임시 ID와 영구 고유 ID(스토리지 데이터베이스)를 모두 생성하는 데 사용할 수 있습니다.

ps: PHP에서 고유 ID를 생성하는 여러 솔루션

다음 편집기는 세 가지 솔루션을 컴파일했으며 구체적인 내용은 다음과 같습니다.

1. () . mt_rand(1,1000000));

이 메서드는 특정 중복 가능성이 있습니다


2. PHP 내장 함수 uniqid()

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

w3school 참조 매뉴얼에는 "시스템 시간을 기준으로 하기 때문에 이 함수로 생성된 ID는 최적이 아닙니다. 고유한 ID를 생성하려면 md5() 함수를 사용하세요."

다음 메소드는 유사한 결과를 반환합니다. 5DDB650F-4389-F4A9-A100-501EF1348872

com_create_guid()는 PHP와 함께 제공됩니다. 고유 ID를 생성하는 방법은 PHP5 이후에는 사라진 것 같습니다.

3. 공식 uniqid() 참조 매뉴얼에는 사용자가 제공한 방법이 있으며 결과는 비슷합니다: {E2DFFFB3-571E-6CFC-4B5C-9FEDAAF2EFD7}

function uuid() {
  if (function_exists ( &#39;com_create_guid&#39; )) {
    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 = &#39;&#39; . //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;
  }
}

PHP uniqid 함수를 사용하여 고유 ID를 생성하는 것과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

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