> 백엔드 개발 > PHP 튜토리얼 > PHP 随机用户名账号的生成

PHP 随机用户名账号的生成

WBOY
풀어 주다: 2016-06-20 12:45:28
원래의
1093명이 탐색했습니다.

随机生成难点是在于如何避免碰撞,有人说用md5,GUID这些机制啊,当然可以,但是做为账号,看着有乱,而且生成位数也过长。本方法只需要解决1秒内的并发碰撞就可以,因为固定头部采用的是unixtime时间,精确到秒,超过1秒,这个头部的时间肯定变化了。同时本方法也可以用户随机订单编号的生成。测试条件是用循环创建1万个随机账号(毫秒级),0碰撞,10万个大约有0-3个碰撞。应该没有哪个互联网公司会在瞬间同时创建这么多账号,所以足够应付数十亿PV这么大的规模了。~~~.java// 自动生成随机用户名// 测试,循环创建1万个随机账号,0碰撞,10万大约0-3个碰撞,足够应付未来数十亿级PVprivate function genUserNumber(){	$chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";	$username = "";	for ( $i = 0; $i < 6; $i++ )	{		$username .= $chars[mt_rand(0, strlen($chars))];	}	return strtoupper(base_convert(time() - 1420070400, 10, 36)).$username;}~~~
로그인 후 복사

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿