Après vérification en ligne, il existe de nombreuses méthodes
1. md5(time() . mt_rand(1,1000000));
Cette méthode a une certaine probabilité de duplication
2. Fonction intégrée PHP uniqid()
La fonction uniqid() génère un identifiant unique basé sur l'heure actuelle en microsecondes
Il y a une phrase dans la référence w3school. Mots manuels : "Comme il est basé sur l'heure du système, l'ID généré par cette fonction n'est pas optimal. Pour 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
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 propre méthode de PHP pour générer un identifiant unique, qui semble avoir disparu 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; }
Plus de solutions pour générer des identifiants uniques. en PHP Pour les articles liés à la méthode, faites attention au site Web PHP chinois !