Maison php教程 php手册 PHP生成不重复标识符程序代码

PHP生成不重复标识符程序代码

May 25, 2016 pm 04:42 PM
substr

生成唯一不重复的标识我们主要是根据当前的一个时间time然后再转换在md5值,这样几乎是可以保证标签的唯一性了,下面整理了一些关于PHP生成不重复标识符程序代码,希望能各位有帮助。

PHP倒是自带了生成唯一id的函数:uniqid() ,它是基于当前时间微秒数的,用法如下:

echo uniqid(); //13位的字符串

echo uniqid("php_"); //当然你可以加上前缀

echo uniqid("php_", TRUE); //如果第二个参数more_entropy为true则生成23位

字符串

但是它生成的标识有可能不是唯一的,所以很多人会:

<?php
    //这是第一种简单的方法,当然用sha1()函数也可以。
    echo md5(uniqid());
    //第二种,利用时间戳的方法
    echo md5(time() . mt_rand(1,1000000));
?>
Copier après la connexion

例子。

<?php
//生成唯一标识符
//sha1()函数, "安全散列算法(SHA1)"
function create_unique() {
    $data = $_SERVER[&#39;HTTP_USER_AGENT&#39;] . $_SERVER[&#39;REMOTE_ADDR&#39;]
     .time() . rand();
    return sha1($data);
    //return md5(time().$data);
    //return $data;
}
?>
Copier après la connexion

例子如下:

<?php
$newhash = create_unique();
echo $newhash; 
?>
Copier après la connexion

我看到很多人使用 md5() 函数,即使它并不完全意味着这个目的:

// generate unique string

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

There is actually a PHP function named uniqid() that is meant to be used for this.

// generate unique string

echo uniqid();

/* prints

4bd67c947233e

*/

// generate another unique string

echo uniqid();

/* prints

4bd67c9472340

*/

你可能会注意到,尽管字符串是唯一的,前几个字符却是类似的,这是因为生成的字符串与服务器时间相关。

但实际上也存在友好的一方面,由于每个新生成的 ID 会按字母顺序排列,这样排序就变得很简单。

为了减少重复的概率,你可以传递一个前缀,或第二个参数来增加:


// with prefix

echo uniqid('foo_');

/* prints

foo_4bd67d6cd8b8f

*/

// with more entropy

echo uniqid('',true);

/* prints

4bd67d6cd8b926.12135106

*/

// both

echo uniqid('bar_',true);

/* prints

bar_4bd67da367b650.43684647

*/

这个函数将产生比 md5() 更短的字符串,节省一些空间。

php生成全球唯一标识符(GUID)的方法

GUID在空间上和时间上具有唯一性,保证同一时间不同地方产生的数字不同。

世界上的任何两台计算机都不会生成重复的 GUID 值。

需要GUID的时候,可以完全由算法自动生成,不需要一个权威机构来管理。

GUID的长度固定,并且相对而言较短小,非常适合于排序、标识和存储。

<?php
//php生成GUID
function getGuid() {
    $charid = strtoupper(md5(uniqid(mt_rand(), true))); 
    $hyphen = chr(45);// "-" 
    $uuid = substr($charid, 0, 8).$hyphen 
    .substr($charid, 8, 4).$hyphen 
    .substr($charid,12, 4).$hyphen 
    .substr($charid,16, 4).$hyphen 
    .substr($charid,20,12);
    return $uuid; 
}
?>
Copier après la connexion


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)

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

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

Comprendre la fonction substr() en PHP pour intercepter les chaînes Comprendre la fonction substr() en PHP pour intercepter les chaînes Nov 18, 2023 am 11:27 AM

Comprendre la fonction substr() en PHP pour intercepter des chaînes Dans le langage PHP, la fonction substr() est une fonction de traitement de chaîne très utile, qui peut être utilisée pour intercepter des fragments de chaîne à une position et une longueur spécifiées. La fonction substr() accepte trois paramètres : la chaîne à intercepter, la position de départ de l'interception et la durée de l'interception. Ci-dessous, nous présenterons en détail l’utilisation de la fonction substr() et donnerons des exemples de code spécifiques. Utilisation de base de la fonction substr() fonction substr()

Utilisez la fonction PHP 'substr' pour obtenir la sous-chaîne d'une chaîne Utilisez la fonction PHP 'substr' pour obtenir la sous-chaîne d'une chaîne Jul 24, 2023 pm 10:13 PM

Utilisez la fonction PHP "substr" pour obtenir la sous-chaîne d'une chaîne. En programmation PHP, vous rencontrez souvent des situations où vous devez obtenir une partie du contenu d'une chaîne. À l'heure actuelle, nous pouvons utiliser la fonction intégrée "substr" de PHP pour y parvenir. Cet article explique comment utiliser la fonction « substr » pour obtenir une sous-chaîne d'une chaîne et fournit quelques exemples de code. 1. Utilisation de base de la fonction substr La fonction substr est utilisée pour obtenir une sous-chaîne d'une longueur spécifiée à partir d'une chaîne. Sa syntaxe de base est la suivante : substr(

Solution invalide de la fonction PHP mb_substr Solution invalide de la fonction PHP mb_substr Mar 22, 2024 am 09:00 AM

Solutions pour la fonction PHPmb_substr invalide Lors du développement d'applications PHP, la fonction mb_substr est souvent utilisée pour intercepter des chaînes. Cependant, vous pouvez parfois rencontrer des situations dans lesquelles la fonction mb_substr n'est pas valide, principalement en raison de problèmes de codage de caractères dans différents environnements. Afin de résoudre ce problème, nous devons gérer efficacement la fonction mb_substr. Une solution courante consiste à s'assurer que la fonction mb_substr peut

PHP convertit la première lettre de la chaîne en minuscule PHP convertit la première lettre de la chaîne en minuscule Mar 21, 2024 pm 02:11 PM

Cet article expliquera en détail comment PHP convertit la première lettre d'une chaîne en minuscule. Je pense que c'est très pratique, je le partage donc avec vous comme référence. J'espère que vous pourrez gagner quelque chose après avoir lu cet article. Conversion de la première lettre d'une chaîne PHP en minuscules Introduction En PHP, convertir la première lettre d'une chaîne en minuscules est une opération courante. Ceci peut être réalisé en utilisant la fonction intégrée lcfirst() ou l'opérateur de chaîne strtolower(). Ce guide abordera les deux approches, en fournissant des exemples de code et de bonnes pratiques. Méthode 1 : utiliser la fonction lcfirst() La fonction lcfirst() est spécifiquement conçue pour convertir la première lettre d'une chaîne en minuscules tout en laissant le reste des caractères inchangés. Sa syntaxe est la suivante : st

La fonction substr_replace() en langage PHP remplace une sous-chaîne d'une longueur spécifiée. La fonction substr_replace() en langage PHP remplace une sous-chaîne d'une longueur spécifiée. Jun 27, 2023 pm 03:15 PM

La fonction substr_replace() du langage PHP est une fonction de traitement de chaîne très pratique, qui peut être utilisée pour remplacer une sous-chaîne d'une longueur spécifiée. La syntaxe de la fonction substr_replace() est la suivante : substr_replace($string,$replacement,$start[,$length]); où $string représente la chaîne d'origine à remplacer et $replacement représente la chaîne remplacée.

Utilisez la fonction PHP 'substr' pour renvoyer la sous-chaîne d'une chaîne Utilisez la fonction PHP 'substr' pour renvoyer la sous-chaîne d'une chaîne Jul 24, 2023 pm 05:55 PM

Utilisez la fonction PHP "substr" pour renvoyer une sous-chaîne d'une chaîne. En PHP, nous devons souvent effectuer certaines opérations sur les chaînes, comme intercepter une partie d'une chaîne. À l'heure actuelle, nous pouvons utiliser la fonction intégrée "substr" de PHP pour réaliser cette fonction. La fonction substr renvoie une sous-chaîne d'une chaîne en fonction de la position de départ et de la longueur spécifiées. Voici un exemple simple qui montre comment utiliser la fonction substr pour intercepter une partie d'une chaîne : &lt;?php$str=&quot

See all articles