PHP如何生成N个不重复的随机数?

有25幅作品拿去投票,一次投票需要选16幅,单个作品一次投票只能选择一次。前面有个程序员捅了漏子,忘了把投票入库,有200个用户产生的投票序列为空。那么你会如何填补这个漏子? 当然向上级反映情况。但是我们这里讨论的是技术,就是需要生成1-25之间的16个不重复的随机数,去填补。具体怎么设计函数呢?将随机数存入数组,再在数组中去除重复的值,即可生成一定数量的不重复随机数。 <?php /* * array unique_rand( int $min, int $max, int $num ) * 生成一定数量的不重复随机数 * $min 和 $max: 指定随机数的范围 * $num: 指定生成数量 */ function unique_rand($min, $max, $num) { $count = 0; $return = array(); while ($count < $num) { $return[] = mt_rand($min, $max); $return = array_flip(array_flip($return)); $count = count($…

Continue reading

免费DNS解析服务器的又一个选择

话说国内用户最多的免费智能DNS解析服务,应该是DNSPod。但是随着用户的增多,DNSPod免费服务似乎越来越不让人满意了。万网的域名解析系统已经升级为阿里云解析,并且永久免费向非万网域名开放服务。 如果你之前使用过DNSPod这类DNS解析服务,应该很容易就可以将你的域名设置为阿里云解析。只需要按照下面几步操作即可: 其实,最主要的一步就是到域名注册商那里修改一下DNS即可,不需要你将域名转到万网。好了,感兴趣的朋友自己试试吧! 阿里云解析:http://dns.www.net.cn/

为什么 Facebook 发明新语言“Hack”(php的一种派生语言)

(注:Hack是一种PHP的派生语言) 为了替换掉那些有年头的老代码,Facebook创建了一个新的语言。这篇文章将会告诉背后的故事。 By Steven Melendez 这个故事来自Facebook工程师Julien Verlaguet和Ed Smith的一次访谈。2004年2月,扎克伯格(Mark Zuckerberg)的哈佛同学们第一次登陆Facebook,服务器里运行着PHP。那个时候PHP击败了Perl成为最炙手可热的Web开发语言。 使用类似Ruby的Rails或者Python的Django这些当下最流行的开发框架都不是那个时候的选择。Rails第一次发布是在几个月之后(注:2004年7月),而Django在一年后才被发布(注:2005年)。十年后,PHP因为笨拙的库,不一致的命名规则,内置定义的函数,在多语言程序中语法和语义与相关语言巨大差异使人混淆,过去的设计原则极容易导致安全性问题等而被指责。 “每一个PHP程序员日复一日地处理着难以捉摸或者棘手的任务”,Facebook的工程师Julien Verlaguet和Alok&nb…

Continue reading

安装SQL2005图文教程(windows 7系统)

由于工作需要,今天要在电脑上安装SQL Server 2005。以往的项目都是使用Oracle和MySQL,MS sql2005的数据库还真很少用到,安装Oracle已经轻车熟路,但装SQL Server好像还有点小麻烦,所以记录下来,以留备用。 ————————————————————————————————- 操作系统:Microsoft Windows 7 旗舰版(32位) 数据库版本:SQL Server 2005 简体中文开发板 数据库下载链接:http://pan.baidu.com/share/link?shareid=322740&uk=268517599 (地址已更新201…

Continue reading