一下,请教一个伪随机数的算法!

如何根据当前时间每隔一定时间生成一个随机数,在网上找了下面一段代码,运行不了。。。。

$time = strtotime(‘2013-03-08 15:00’);//如果是每个小时一次
$str = md5($time);
$int = intval(eregi_replace(‘[a-z]’, ”, $str), 10);
如果只是针对当然用户就容易多了
function fn() {
if (! empty($_session[‘key_time’] && ! empty($_session[‘key_value’]) && date(‘y-m-d h:i’) == $_session[‘key_time’]) {
return $_session[‘key_value’];
} else {
$_session[‘key_time’] = date(‘y-m-d h:i’);//如果是每分钟一次,每小时的话date(‘y-m-d h‘),其他时间长度自己研究吧
$_session[‘key_value’] = rand(10000, 99999);
return $_session[‘key_value’];
}
}

回复讨论(解决方案)

1、使用了 eregi_replace

而 ereg 函数族早在 2013 之前就停用了

2、没有看到你启用 session

谢谢版主!我没想用 session,就是那个正则替换英文没搞定!服务端生成就行了

1、他用 session 缓存上一个值

不是你想用不用的问题

2、ereg 函数族不能用了,要改用 preg 函数族

Posted in 未分类

发表评论