PHP generiert eine eindeutige ID

angryTom
Freigeben: 2023-04-07 17:44:02
nach vorne
3216 Leute haben es durchsucht

Vorwort

Mit der PHP-Funktion uniqid() kann eine eindeutige, nicht wiederholte Kennung generiert werden, die auf dem aktuellen Zeitstempel in Mikrosekunden basiert. Bei hoher Parallelität oder extrem kurzen Intervallen (z. B. Schleifencode) wird eine große Menge doppelter Daten angezeigt. Selbst wenn der zweite Parameter verwendet wird, wird er wiederholt. Die beste Lösung besteht darin, die MD5-Funktion zu kombinieren, um eine eindeutige ID zu generieren.

Verwenden Sie die Funktion

string uniqid ([ string $prefix = "" [, bool $more_entropy = false ]] )
Nach dem Login kopieren

, um eine vorangestellte eindeutige ID basierend auf der Anzahl der Mikrosekunden in der aktuellen Zeit zu erhalten. Präfix Nützlicher Parameter. Beispiel: Wenn auf mehreren Hosts eine eindeutige ID in derselben Mikrosekunde generiert werden könnte. Wenn das Präfix leer ist, beträgt die Länge der zurückgegebenen Zeichenfolge 13. Wenn moreentropy TRUE ist, beträgt die Länge der zurückgegebenen Zeichenfolge 23. moreentropy Wenn auf TRUE gesetzt, fügt uniqid() am Ende der zurückgegebenen Zeichenfolge zusätzliche Entropie hinzu (unter Verwendung eines kombinierten linearen Kongruenzgenerators). Machen Sie die eindeutige ID einzigartiger.

PHP uniqid() generiert eine sich nicht wiederholende eindeutige Kennung, Methode eins

Diese Methode generiert eine große Menge wiederholter Daten. Durch Ausführen des folgenden PHP-Codes werden die eindeutige Kennung und das entsprechende Element generiert Der Wert im Array-Index gibt an, wie oft der eindeutige Bezeichner wiederholt wird.

<?php
$units = array();for($i=0;$i<1000000;$i++){
    $units[] = uniqid();}
$values  = array_count_values($units);
$duplicates = [];foreach($values as $k=>$v){    if($v>1){
        $duplicates[$k]=$v;    }}
echo &#39;<pre class="brush:php;toolbar:false">&#39;;print_r($duplicates);
echo &#39;
';?>
Nach dem Login kopieren

PHP uniqid() Methode 2 zum Generieren eindeutiger eindeutiger Identifikatoren

Diese Methode generiert deutlich weniger doppelte eindeutige Identifikatoren.

<?php
$units = array();for($i=0;$i<1000000;$i++){
    $units[] = uniqid(&#39;&#39;,true);}
$values  = array_count_values($units);
$duplicates = [];foreach($values as $k=>$v){    if($v>1){
        $duplicates[$k]=$v;    }}
echo &#39;<pre class="brush:php;toolbar:false">&#39;;print_r($duplicates);
echo &#39;
';?>
Nach dem Login kopieren

PHP uniqid() generiert nicht-duplizierte eindeutige Kennungen, Methode drei

Es gibt keine Duplikate in der eindeutigen Kennung, die von dieser Methode generiert wird.

<?php
$units = array();for($i=0;$i<1000000;$i++){
    $units[]=md5(uniqid(md5(microtime(true)),true));}
$values  = array_count_values($units);
$duplicates = [];foreach($values as $k=>$v){    if($v>1){
        $duplicates[$k]=$v;    }}
echo &#39;<pre class="brush:php;toolbar:false">&#39;;print_r($duplicates);
echo &#39;
';?>
Nach dem Login kopieren

PHP uniqid() generiert eine eindeutige Kennung, Methode 4

Verwenden Sie die Funktion sessioncreateid(), um eine eindeutige Kennung zu generieren. Nach tatsächlichen Tests wurde festgestellt, dass selbst wenn sessioncreateid() 100 heißt Millionen Mal in einer Schleife hat es keine Duplizierung gegeben. php sessioncreateid() ist eine neue Funktion in PHP 7.1, die zum Generieren einer Sitzungs-ID verwendet wird. Sie kann in niedrigeren Versionen nicht verwendet werden.

Weitere PHP-Kenntnisse finden Sie auf der PHP-Chinese-Website!

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

Verwandte Etiketten:
php
Quelle:cnblogs.com
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!