Maison développement back-end tutoriel php php 生成唯一id的几种解决方法

php 生成唯一id的几种解决方法

Jul 29, 2016 am 09:11 AM
data guid server substr

网上查了下,有很多的方法

1、md5(time() . mt_rand(1,1000000));

  这种方法有一定的概率会出现重复

2、php内置函数uniqid()

  uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID.

  w3school参考手册有一句话:"由于基于系统时间,通过该函数生成的 ID 不是最佳的。如需生成绝对唯一的 ID,请使用 md5() 函数"。

  下面方法返回结果类似: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;
    }
}
Copier après la connexion

com_create_guid()是php自带的生成唯一id方法,php5之后貌似已经没有了。
3、官方uniqid()参考手册有用户提供的方法,结果类似:{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;
  }
Copier après la connexion

以上就介绍了php 生成唯一id的几种解决方法,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Introduction au format de disque dur win11 mbr ou guid Introduction au format de disque dur win11 mbr ou guid Dec 27, 2023 am 11:59 AM

De nombreux amis rencontrent des situations où ils doivent modifier manuellement le format du disque dur lors de l'installation de Win11, mais ils ne savent pas si le format du disque dur Win11 est mbr ou guid. En fait, les deux partitions sont possibles, mais les méthodes d'installation seront différentes. . Examinons-les ensemble. Présentons-le en détail. Le format du disque dur Win11 est mbr ou guid : Réponse : Le format du disque dur Win11 est à la fois mbr et guid. En fait, win11 peut être installé en utilisant à la fois le format mbr et le mode guid. Il existe cependant quelques différences entre les deux formats en termes d'installation et d'utilisation. La différence entre le format de disque dur win11 mbr et guid 1. Installation 1. Si nous utilisons une clé USB, nous devons utiliser le format mbr lors de l'installation de win11 dans le système pe. 2. Si vous utilisez w

Comment installer, désinstaller et réinitialiser la sauvegarde du serveur Windows Comment installer, désinstaller et réinitialiser la sauvegarde du serveur Windows Mar 06, 2024 am 10:37 AM

WindowsServerBackup est une fonction fournie avec le système d'exploitation WindowsServer, conçue pour aider les utilisateurs à protéger les données importantes et les configurations système, et à fournir des solutions complètes de sauvegarde et de récupération pour les petites, moyennes et grandes entreprises. Seuls les utilisateurs exécutant Server2022 et versions ultérieures peuvent utiliser cette fonctionnalité. Dans cet article, nous expliquerons comment installer, désinstaller ou réinitialiser WindowsServerBackup. Comment réinitialiser la sauvegarde de Windows Server Si vous rencontrez des problèmes avec la sauvegarde de votre serveur, si la sauvegarde prend trop de temps ou si vous ne parvenez pas à accéder aux fichiers stockés, vous pouvez envisager de réinitialiser vos paramètres de sauvegarde de Windows Server. Pour réinitialiser Windows

La version préliminaire de Windows Server 2025 accueille la mise à jour, Microsoft améliore l'expérience de test Insiders La version préliminaire de Windows Server 2025 accueille la mise à jour, Microsoft améliore l'expérience de test Insiders Feb 19, 2024 pm 02:36 PM

A l'occasion de la sortie de la version build 26040 de Windows Server, Microsoft a annoncé le nom officiel du produit : Windows Server 2025. La version build26040 de Windows11WindowsInsiderCanaryChannel est également lancée. Certains amis se souviennent peut-être encore qu'il y a de nombreuses années, quelqu'un a réussi à convertir Windows NT du mode poste de travail au mode serveur, montrant ainsi les points communs entre les différentes versions des systèmes d'exploitation Microsoft. Bien qu'il existe des différences évidentes entre la version actuelle du système d'exploitation serveur de Microsoft et Windows 11, ceux qui prêtent attention aux détails peuvent être curieux : pourquoi Windows Server a mis à jour la marque,

Lequel dois-je choisir entre win7mbr et guid ? Lequel dois-je choisir entre win7mbr et guid ? Dec 23, 2023 am 08:22 AM

win7mbr et guid sont deux formats pour les partitions de disque dur. De nombreux utilisateurs ne savent pas lequel choisir lors de la construction d'un système. En fait, il est préférable de choisir en fonction de la configuration de votre propre ordinateur. introduction ci-dessous. Lequel choisir entre win7mbr et guid : Réponse : win7 : la partition MBR est recommandée. Étant donné que Windows 7 ne prend pas en charge l'installation du système UEFI par défaut, le disque dur ne peut pas être reconnu. win8 et win10 : les deux modes sont disponibles, guid est recommandé. Introduction à win7mbr et guid : 0. GPT est l'abréviation de table de partition GUID. 1. Le système UEFI installé ne peut être démarré que via le disque GPT. (Le programme d'installation de Windows peut démarrer à partir de la partition FAT32 du MBR, mais uniquement

Comment modifier le nom de la version Nginx pour masquer n'importe quel serveur Web Comment modifier le nom de la version Nginx pour masquer n'importe quel serveur Web May 14, 2023 pm 09:19 PM

Comment modifier le nom par défaut de nginx, vous pouvez le déguiser un peu, ou vous pouvez l'installer Astuce : Généralement, les modifications sont apportées avant la compilation de nginx. Après modification, le code doit être recompilé comme suit : scr/core/nginx.conf#definenginx_version"1.4.7"#definenginx_ver"nginx/"n.

PHP renvoie la valeur ASCII du premier caractère de la chaîne PHP renvoie la valeur ASCII du premier caractère de la chaîne Mar 21, 2024 am 11:01 AM

Cet article expliquera en détail la valeur ASCII du premier caractère de la chaîne renvoyée par PHP. L'éditeur pense que c'est très pratique, je la partage donc avec vous comme référence, j'espère que vous pourrez gagner quelque chose après avoir lu cet article. PHP renvoie la valeur ASCII du premier caractère d'une chaîne Introduction En PHP, obtenir la valeur ASCII du premier caractère d'une chaîne est une opération courante qui implique des connaissances de base sur le traitement des chaînes et l'encodage des caractères. Les valeurs ASCII sont utilisées pour représenter la valeur numérique des caractères dans les systèmes informatiques et sont essentielles à la comparaison des caractères, à la transmission et au stockage des données. Le processus d'obtention de la valeur ASCII du premier caractère d'une chaîne implique les étapes suivantes : Obtenir la chaîne : Déterminez la chaîne pour laquelle vous souhaitez obtenir la valeur ASCII. Il peut s'agir d'une variable ou d'une constante chaîne

Microsoft publie la version préliminaire 25335 de Windows Server vNext Microsoft publie la version préliminaire 25335 de Windows Server vNext Jan 10, 2024 am 08:49 AM

Alors que Microsoft a publié la mise à jour préliminaire de Win11 pour le bureau, il a également publié aujourd'hui la version préliminaire 25335 de Windows Server Long Term Service Channel (LTSC). Comme d'habitude, Microsoft n'a pas publié de journal complet des modifications, ni même fourni d'article de blog correspondant. Microsoft a ajusté le journal de mise à jour de la version préliminaire de Windows Server pour qu'il soit identique à la version Canary Channel. Si aucun nouveau contenu n'est introduit, le billet de blog officiel ne sera pas publié. Remarque d'IT Home : La marque du serveur n'a pas été mise à jour et est toujours Windows Server 2022 dans la version d'aperçu. De plus, Microsoft appelle ces versions Windows Server vNext au lieu de la version Windows Server 2019 déjà disponible sur le marché.

PHP renvoie la chaîne de la position de début à la position de fin d'une chaîne dans une autre chaîne PHP renvoie la chaîne de la position de début à la position de fin d'une chaîne dans une autre chaîne Mar 21, 2024 am 10:31 AM

Cet article expliquera en détail comment PHP renvoie la chaîne de la position de début à la position de fin d'une chaîne dans une autre chaîne. L'éditeur pense que c'est assez pratique, je le partage donc avec vous comme référence, j'espère que vous finirez de lire. cet article. Vous pouvez tirer quelque chose de cet article. Utilisez la fonction substr() en PHP pour extraire des sous-chaînes d'une chaîne. La fonction substr() peut extraire des caractères dans une plage spécifiée d'une chaîne. La syntaxe est la suivante : substr(string,start,length) où : string : la chaîne d'origine à partir de laquelle la sous-chaîne doit être extraite. start : L'index de la position de départ de la sous-chaîne (à partir de 0). length (facultatif) : la longueur de la sous-chaîne. Si non précisé, alors

See all articles