大家可能习惯用md5()来生成唯一的编号。
md5()有如下的缺点:
1、无序,导致数据库中排序性能下降。
2、太长,需要更多的存储空间。
本文中,我们使用PHP自带的一个函数来生成唯一的id,此函数为uniqid()。
例子:
//生成唯一字符串
// generate unique string
echo uniqid();
/* 输出
4bd67c947233e
*/
// generate another unique string
echo uniqid();
/* 输出
4bd67c9472340
*/
?>
以上代码,根据CPU时间戳来生成的,所以在相近的时间段内,id前几位是一样的,这也方便id的排序。
为避免重复,可以在id前加上前缀,例如:
//生成唯一id,添加前缀
//edit by www.jbxue.com
// 前缀
echo uniqid(‘foo_’);
/* 输出
foo_4bd67d6cd8b8f
*/
// 有更多的熵
echo uniqid(”,true);
/* 输出
4bd67d6cd8b926.12135106
*/
// 都有
echo uniqid(‘bar_’,true);
/* 输出
bar_4bd67da367b650.43684647
*/
?>