Maison > Article > développement back-end > Explication détaillée de la façon de générer un identifiant unique en php
PHP génère un identifiant unique. Après vérification en ligne, il existe de nombreuses méthodes
1 md5(time() . mt_rand(1,1000000));
Cette méthode a certains. la probabilité sera répétée
2. Fonction intégrée PHP uniqid()
La fonction uniqid() génère un identifiant unique basé sur l'heure actuelle en microsecondes.
Là est une phrase du manuel de référence de w3school : "Comme il est basé sur l'heure système, l'ID généré par cette fonction n'est pas optimal. Si vous devez générer un ID absolument unique, veuillez utiliser la fonction md5()."
La méthode suivante renvoie des résultats similaires : 5DDB650F-4389-F4A9-A100-501EF1348872 Pour plus d'informations, veuillez vous référer à mon article de blog : Exemple PHP
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; } }
com_create_guid() est la méthode de génération d'un identifiant unique fournie avec PHP qui semble avoir disparu après PHP5.
3. Le manuel de référence officiel uniqid() contient des méthodes fournies par les utilisateurs, et les résultats sont similaires : {E2DFFFB3-571E-6CFC-4B5C-9FEDAAF2EFD7>
public function create_guid($namespace = '') { static $guid = '';$uid = uniqid("", true);$data = $namespace;$data .= $_SERVER['REQUEST_TIME'];$data .= $_SERVER['HTTP_USER_AGENT'];$data .= $_SERVER['LOCAL_ADDR'];$data .= $_SERVER['LOCAL_PORT'];$data .= $_SERVER['REMOTE_ADDR'];$data .= $_SERVER['REMOTE_PORT'];$hash = strtoupper(hash('ripemd128', $uid . $guid . md5($data)));$guid = '{' . substr($hash, 0, 8) . '-' .substr($hash, 8, 4) . '-' .substr($hash, 12, 4) . '-' .substr($hash, 16, 4) . '-' .substr($hash, 20, 12) . '}';return $guid; }
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!