Méthode php pour générer un identifiant unique
1, fonction intégrée php uniqid()
uniqid Utilisé pour obtenir un identifiant unique préfixé basé sur l'heure actuelle en microsecondes.
uniqid ([ string $prefix = "" [, bool $more_entropy = false ]] ) : string
Remarque : Cette fonction ne garantit pas l'unicité de la valeur de retour. Étant donné que la plupart des systèmes utilisent NTP ou des services similaires pour ajuster l'heure du système, l'heure du système change fréquemment. De plus, le processus/thread peut ne pas renvoyer un identifiant unique. Utilisez more_entropy pour augmenter la probabilité d'unicité.
La méthode suivante renvoie des résultats similaires : 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; } }
2, md5(time() . mt_rand(1,1000000))
Cette méthode a une certaine probabilité de duplication
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!