Heim  >  Artikel  >  Backend-Entwicklung  >  PHP generiert eindeutige IDs

PHP generiert eindeutige IDs

(*-*)浩
(*-*)浩Original
2019-09-27 10:13:122528Durchsuche

Um eindeutige und nicht doppelte Bezeichner zu generieren, verwenden wir hauptsächlich die aktuelle Zeit und konvertieren sie dann in den MD5-Wert. Dies kann die Eindeutigkeit des Etiketts nahezu garantieren. Hier ist ein Programmcode zum Generieren nicht doppelter Bezeichner in PHP

PHP generiert eindeutige IDs

PHP-integrierte Funktion uniqid()

uniqid()-Funktion basiert auf dem Strom Zeit in Mikrosekunden. Generieren Sie eine eindeutige ID Basierend auf der Systemzeit ist die von der Funktion generierte ID nicht optimal. Um eine absolut eindeutige ID zu generieren, verwenden Sie die Funktion md5(). Die folgende Methode liefert ähnliche Ergebnisse: 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;
    }
}

php-Methode zum Generieren einer global eindeutigen Kennung (GUID)

GUID ist räumlich und zeitlich einzigartig und stellt sicher, dass verschiedene Zahlen, die an verschiedenen Orten zur gleichen Zeit generiert werden, unterschiedlich sind.

Keine zwei Computer auf der Welt generieren doppelte GUID-Werte.

Wenn eine GUID erforderlich ist, kann diese vom Algorithmus vollständig automatisch generiert werden und erfordert keine maßgebliche Organisation zur Verwaltung.

GUID hat eine feste Länge und ist relativ kurz, was sich sehr gut zum Sortieren, Identifizieren und Speichern eignet.

<?php
//php生成GUID
function getGuid() {
 $charid = strtoupper(md5(uniqid(mt_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;
}
?>

Das obige ist der detaillierte Inhalt vonPHP generiert eindeutige IDs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn