如果我使用:
$t = time();
echo $t;
输出如下:1319390934
- 该值可以作为唯一id使用?
- 如何从它生成一个日期?
我不能使用uniqid()
,因为我需要一个可以用来排序(最近)的值
使用上述time()
将为您提供一种可排序的方式来创建唯一的id。连接字符串还将进一步随机化您想要的结果,并保持其可排序性:
$uniqueId= time().'-'.mt_rand();
- 显然,这不能用作"唯一"id,因为它在同一秒的持续时间内不是唯一的。
- 查看
date
。
如果您希望广告中作为唯一id的内容和都可以排序,您可以使用这样的内容,包括uniqid
:
$u = time().'-'.uniqid(true);
我可能在这里过于简化了,想当然地认为time
将产生的所有值都具有相同的位数(因此字符串排序将产生与自然排序相同的结果)。如果您不想做这样的假设,那么您可以考虑
$u = sprintf("%010s-%s", time(), uniqid(true));
如果您在具有唯一ID的用户帐户的环境中使用此代码,则可以将time()附加到其帐户ID以生成唯一ID。
你可以使用:
将time()转换回日期字符串:$time = time();
echo 'The datestamp for (' . $time . ') is ' . date("Y-m-d", $time);
当然,日期格式可以使用PHP的date()格式修改。
我可能会这样做:
$id = microtime();