开发的时候经常需要生成唯一的标识,例如订单号,用户标识等。
记录下几种生成的方法:
1. PHP 自带的函数 uniqid()
echo uniqid();
echo uniqid('php_');
此函数不保证返回值的唯一性。 由于绝大多数系统使用 NTP 或者类似服务调整系统的时间,所以系统时间经常发生变化。 此外,进程/线程可能不会返回唯一的 ID。 用 more_entropy 来增加唯一性的概率。
2. 多带点客户端信息
echo md5($_SERVER['HTTP_USER_AGENT'] . $_SERVER['REMOTE_ADDR'].time().mt_rand(1,10000));
3.时间加随机数结合
echo date('YmdHis') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);
;