求一个不会生成重复值的短网址算法

dz215136304 2013-05-31 09:57:51
求一个不会生成重复值的短网址算法,网上找了一些,都有一定重复的概率,或者能提供一种重复概率最小的算法也行
...全文
338 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
cnaaa8 2013-06-09
  • 打赏
  • 举报
回复
都会重复的 可以在数据库中做记录
cangzhu 2013-06-08
  • 打赏
  • 举报
回复

<?php

function base62($i)
{
	if($i<0) return '';
	$ch = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
	$a='';do{$a=$ch[$i%62].$a;$i=intval($i/62);}while($i>0);return $a;
}
echo base62(63);

?>

由一个整型ID 生成它的base62编码 比如 61 => 10 63 => 11 .. 71 => 1a 72 => 1b 900000000(9亿) => YUj72
cangzhu 2013-06-08
  • 打赏
  • 举报
回复
我自己想到的是base62算法 呵呵~~~
laiyilong 2013-06-01
  • 打赏
  • 举报
回复
这个应该是先生成一个随机字符串, 然后查询数据库中是否已经存在, 不存在就入库, 存在就再换一个再查, 短址本来就只有五位左右的长度, 我觉得不管用什么算法都不可能保证不重复, 所以只能通过对以前生成的来对比。
lazyboy_wu 2013-06-01
  • 打赏
  • 举报
回复
最简单就是,随机串是根据对应id生成的,也就是看着像随机串,其实是id根据一定的规则生成的,基本上在没有得到这个id范围的上线的话,是不会用重复的

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧