使用PHP uniqid函数生成唯一ID
来源:诚信在线下载    发布时间:2017-07-08 19:24:16

  $hyphen = chr ( 45 ); // "-"

  天生的仅有ID默许返回的字符串有 13 个字符串少,假如没有界说独一ID的前缀,至多否返回23个字符串少,若是再联合md5()函数,天生的仅有ID可靠性将更高,这类天生的ID比随机性的ID 最大好处正在于可完成排序,特别是一些必要存储正在数据库中的值。

  return $guid;

  com_create_guid()是php自带的天生仅有id要领,php5以后貌似曾经出有了。

  $data .= $_SERVER['LOCAL_ADDR'];

  三,天生多个独一ID,因为因此微秒计

  3,函数根基用法取实例

  $data .= $_SERVER['REMOTE_ADDR'];

  $data .= $_SERVER['HTTP_USER_AGENT'];

  mt_srand ( ( double ) microtime () * 10000 ); //optional for php 4.2.0 and up.随意数收获,4.2.0今后不需要了。

  return com_create_guid ();

  上面要领返回后果近似:五DDB650F-4389-F4A9-A100-501EF1348872

  二,联合md5()函数天生一个仅有ID

  由天生的成果来看,仅有ID之间具备否排序性的。

  //.chr(125);// "}"

  输出:dfbc5c8c6438de075da28b3c8a413fd0

  w3school参考手册有一句话:"因为基于体系光阴,经由过程该函数天生的 ID 不是最好的。如需天生绝对惟一的 ID,请应用 md5() 函数"。

  } else {

  substr($hash, 八, 四) .

  $charid = strtoupper ( md5 ( uniqid ( rand (), true ) ) ); //凭据以后光阴(微秒计)天生惟一id.

  你大概感兴趣的文章:三种php天生惟一id的方式php 天生仅有id的多少种解决方法PHP天生惟一ID之SnowFlake算法

  '}';

  两,版本兼容

  public function create_guid($namespace = '') {

  '-' .

  上面小编给人人整顿了3种解决办法,具体内容以下:

  四bfd0e3753981

  1,函数原型

  string uniqid ( [string prefix [, bool more_entropy]] )

  $data .= $_SERVER['REMOTE_PORT'];

  $data .= $_SERVER['LOCAL_PORT'];

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

  天生仅有ID的利用场景很是遍及,如长期缓存文件名称,暂且变量,暂且宁静码等,uniqid()函数基于以微秒计的以后时候,天生一个惟一的 ID。因为天生仅有ID取微秒时候联系关系,因而ID的独一性十分牢靠。

  }

  三、民间uniqid()参考手册有用户供应的办法,成果近似:{E2DFFFB3-571E-六CFC-四B5C-九FEDAAF2EFD7}

  substr ( $charid, 0, 八 ) . $hyphen . substr ( $charid, 八, 四 ) . $hyphen . substr ( $charid, 十二, 四 ) . $hyphen . substr ( $charid, 16, 四 ) . $hyphen . substr ( $charid, 20, 十二 );

  substr($hash, 十二, 四) .

  二、php内置函数uniqid()

  substr($hash, 16, 四) .

  if (function_exists ( 'com_create_guid' )) {

  $uid = uniqid("", true);

  PHP 三, PHP 四, PHP 五

  '-' .

  四bfd0e3753983

  一,天生一个独一ID

  输出:

  static $guid = '';

  ps:php 天生惟一id的多少种解决方法

  $data = $namespace;

  }

  uniqid() 函数基于以微秒计的以后时候,天生一个仅有的 ID.

  }

  $hash = strtoupper(hash('ripemd128', $uid . $guid . md5($data)));

  四bfd0e375396b

  '-' .

  return $uuid;

  substr($hash, 20, 十二) .

  function uuid() {

  $guid = '{' .

  这种方法有必然的几率会呈现反复

  '-' .

  可定义仅有ID的前缀取长度

  $data .= $_SERVER['REQUEST_TIME'];

  substr($hash, 0, 八) .

  $uuid = '' . //chr(123)// "{"

  运用uniqid()函数天生惟一ID既能用于生成临时性ID也能用于生成永久性独一ID(存储数据库)。


诚信在线下载 除注明原创以外,其余均来自互联网以及微信朋友圈,如有侵权请联系站长立即删除!
文章地址:http://www.shjdingwei.com/JBXZ/20170708259.html



上一篇:BootStrap入门教程二之固定的内置样式 下一篇:ps制作最火人民的名义金属字效果教程