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