生成数据库主键ID 每人一个独特数字id,注册成功随机生成一个1位到11位数id,长整型,0-99999999999 。要使用合理高效的比对算法,避免跟所有现存id逐一比对。该怎么写?大家有什么好的想法 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 直接将用户的ID缓存成一个以数组形式存取的php文件,查看是否有重复用 isset(id['username'])就可以了,没重复就自动生成一个,插入数据库和缓存文本。 大概是这样<?$arr = array(...); // 必须是排序好的function searchID($s, $min, $max){ global $arr; if($min == $max){ if($s == $arr[$min]){ return true; }else{ return false; } }else{ $middle = round(($max-$min)/2); if($s == $arr[$middle]){ return true; }else if($s < $arr[$middle]){ searchID($s, 0, $middle); }else{ searchID($s, $middle, $max); } }}echo searchID($s, 0, count($arr));?> 是差不多,但利用php本身有的资源要比自己去动手重新写一次要节省时间, 效率上自带的功能也稍胜一筹 IIS+PHP网站根目录的路径问题 超级菜鸟询问 php网页上传到php空间显示不出来 【上海易略】急招30名有PERL经验,并且接触过CPAN的开发人员 关于phplib的set_var太多,造成页面很慢怎么办. 求一个判断数字的正则(高手进) 图片重复显示,是否只能通过循环的方式? 怎么写一个留言本? 以前学asp,现在有简单问题请教——》为什么我查找不到数据库表中的记录?? 求点评这段代码,尽管砖吧。。。 php数组如何遍历排序追加数组? php中byte的处理 大家帮我解释一下这段php是什么意思
$arr = array(...); // 必须是排序好的
function searchID($s, $min, $max){
global $arr;
if($min == $max){
if($s == $arr[$min]){
return true;
}else{
return false;
}
}else{
$middle = round(($max-$min)/2);
if($s == $arr[$middle]){
return true;
}else if($s < $arr[$middle]){
searchID($s, 0, $middle);
}else{
searchID($s, $middle, $max);
}
}
}
echo searchID($s, 0, count($arr));
?>