PHP generiert automatisch eindeutige IDs

王林
Freigeben: 2023-04-07 12:06:01
nach vorne
3627 Leute haben es durchsucht

PHP generiert automatisch eindeutige IDs

Die PHP-Funktion uniqid() kann verwendet werden, um eine eindeutige Kennung zu generieren, die sich nicht wiederholt, basierend auf dem aktuellen Zeitstempel in Mikrosekunden. Bei hoher Parallelität oder extrem kurzen Intervallen (z. B. Schleifencode) wird eine große Menge doppelter Daten angezeigt. Auch 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.

Beschreibung

string uniqid ([ string $prefix = "" [, bool $more_entropy = false ]] )

Erhalten Sie eine vorangestellte eindeutige ID basierend auf der aktuellen Zeit in Mikrosekunden.

Parameter

prefix

Nützliche Parameter. Beispiel: Wenn auf mehreren Hosts eine eindeutige ID in derselben Mikrosekunde generiert werden kann. Wenn das

Präfix leer ist, beträgt die Länge der zurückgegebenen Zeichenfolge 13. Wenn more_entropy TRUE ist, beträgt die Länge der zurückgegebenen Zeichenfolge 23.

more_entropy

Wenn auf TRUE gesetzt, fügt uniqid() am Ende der zurückgegebenen Zeichenfolge zusätzliche Kongruenz hinzu (unter Verwendung eines kombinierten linearen Kongruenzgenerators). Machen Sie die eindeutige ID einzigartiger.

PHP uniqid() Methode 1 zum Generieren sich nicht wiederholender eindeutiger Bezeichner
Diese Methode generiert eine große Menge doppelter Daten und führt zum eindeutigen Bezeichner Der durch den Array-Index generierte Elementwert 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 Bezeichner
Diese Methode generiert deutlich weniger doppelte eindeutige Bezeichner.

<?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() Methode 3 zum Generieren nicht doppelter eindeutiger Bezeichner
Der von dieser Methode generierte eindeutige Bezeichner enthält keine Duplikate.

<?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()-Methode 4 zum Generieren eindeutiger Bezeichner, die nicht wiederholt werden
Verwenden Sie die Funktion session_create_id(), um eindeutige Bezeichner zu generieren Wenn session_create_id() zyklisch 100 Millionen Mal aufgerufen wurde, gab es keine Duplikate.
php session_create_id() ist eine neue Funktion in PHP 7.1. Sie wird zum Generieren einer Sitzungs-ID verwendet. Sie kann in niedrigeren Versionen nicht verwendet werden.

Der obige Inhalt dient nur als Referenz!

Empfohlenes Video-Tutorial: PHP-Video-Tutorial

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

Verwandte Etiketten:
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