PHP生成不重复标识符程序代码
生成唯一不重复的标识我们主要是根据当前的一个时间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)); ?>
例子。
<?php //生成唯一标识符 //sha1()函数, "安全散列算法(SHA1)" function create_unique() { $data = $_SERVER['HTTP_USER_AGENT'] . $_SERVER['REMOTE_ADDR'] .time() . rand(); return sha1($data); //return md5(time().$data); //return $data; } ?>
例子如下:
<?php $newhash = create_unique(); echo $newhash; ?>
我看到很多人使用 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; } ?>

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

这篇文章将为大家详细讲解有关PHP返回字符串第一个字符的ASCII值,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP返回字符串第一个字符的ASCII值引言在php中,获取字符串第一个字符的ASCII值是一个常见的操作,涉及到字符串处理和字符编码基础知识。ASCII值用于表示字符在计算机系统中的数字值,对于字符比较、数据传输和存储至关重要。过程获取字符串第一个字符的ASCII值涉及以下步骤:获取字符串:确定要获取ASCII值的字符串。它可以是变量、字符串常量

这篇文章将为大家详细讲解有关PHP返回一个字符串在另一个字符串中开始位置到结束位置的字符串,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP中使用substr()函数从字符串中提取子字符串substr()函数可从字符串中提取指定范围内的字符。其语法如下:substr(string,start,length)其中:string:要从中提取子字符串的原始字符串。start:子字符串开始位置的索引(从0开始)。length(可选):子字符串的长度。如果未指定,则提

了解PHP中的substr()函数用于截取字符串在PHP语言中,substr()函数是一个非常有用的字符串处理函数,它可以用于截取指定位置和长度的字符串片段。substr()函数接受三个参数:待截取的字符串、截取的起始位置和截取的长度。下面我们将详细介绍substr()函数的使用方法,并给出具体的代码示例。substr()函数的基本用法substr()函数的

使用PHP函数"substr"获取字符串的子串在PHP编程中,经常会遇到需要获取字符串的部分内容的情况。这时,我们可以使用PHP内置的函数"substr"来实现。本文将介绍如何使用"substr"函数获取字符串的子串,并提供一些代码示例。一、substr函数的基本用法substr函数用于从字符串中获取指定长度的子串。其基本语法如下:substr(

PHPmb_substr函数无效的处理方案在开发PHP应用程序时,经常会用到mb_substr函数来截取字符串。然而,有时候可能会遇到mb_substr函数无效的情况,主要是因为在不同环境中字符编码的问题。为了解决这个问题,我们需要对mb_substr函数进行有效的处理。一种常见的处理方案是通过设置合适的字符编码和截取长度来确保mb_substr函数能

这篇文章将为大家详细讲解有关PHP将字符串的首字母转换为小写,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。将PHP字符串的首字母转换为小写引言在php中,将字符串的首字母转换为小写是一个常见的操作。可以通过使用内置函数lcfirst()或字符串操作符strtolower()来实现。本指南将深入探讨这两种方法,并提供实例代码和最佳实践。方法1:使用lcfirst()函数lcfirst()函数专门用于将字符串的首字母转换为小写,而其余字符保持不变。其语法如下:st

PHP语言中substr_replace()函数是一个非常实用的字符串处理函数,它可以用来替换指定长度的子字符串。substr_replace()函数的语法如下:substr_replace($string,$replacement,$start[,$length]);其中,$string表示要进行替换的原字符串,$replacement表示替换后的

使用PHP函数"substr"返回字符串的子串在PHP中,我们经常需要对字符串进行一些操作,例如截取字符串的一部分。这时,我们可以使用PHP内置函数"substr"来实现这个功能。substr函数可以根据指定的起始位置和长度返回字符串的子串。下面是一个简单的示例,演示了如何使用substr函数截取字符串的一部分:<?php$str="
